From 92eb1646c4a3964552c1edffaece769e204581df Mon Sep 17 00:00:00 2001 From: cchantep Date: Thu, 14 Aug 2014 15:18:21 +0200 Subject: [PATCH] Add combobox type for area (+ bump version + tooltips) --- Dhek/GUI.hs | 26 ++++++++++++++++++++++---- Dhek/Signal.hs | 2 +- dhek.cabal | 2 +- messages/en.msg | 11 ++++++++++- messages/fr.msg | 9 +++++++++ 5 files changed, 43 insertions(+), 7 deletions(-) diff --git a/Dhek/GUI.hs b/Dhek/GUI.hs index 09db531..61f1d92 100644 --- a/Dhek/GUI.hs +++ b/Dhek/GUI.hs @@ -147,6 +147,8 @@ makeGUI = do fitem <- Gtk.menuItemNewWithLabel $ msgStr MsgFile oitem <- Gtk.menuItemNewWithLabel $ msgStr MsgOpenPDF ovitem <- Gtk.menuItemNewWithLabel $ msgStr MsgOpenBlank + Gtk.set ovitem [Gtk.widgetTooltipText Gtk.:= + Just $ msgStr MsgOpenBlankTooltip] iitem <- Gtk.menuItemNewWithLabel $ msgStr MsgLoadMappings sitem <- Gtk.menuItemNewWithLabel $ msgStr MsgSaveMappings citem <- Gtk.checkMenuItemNewWithLabel $ msgStr MsgEnableOverlap @@ -166,18 +168,26 @@ makeGUI = do -- Button Next nimg <- loadImage Resources.goNext next <- Gtk.toolButtonNew (Just nimg) Nothing + Gtk.set next [Gtk.widgetTooltipText Gtk.:= + Just $ msgStr MsgNextPageTooltip] -- Previous Prev pimg <- loadImage Resources.goPrevious prev <- Gtk.toolButtonNew (Just pimg) Nothing + Gtk.set prev [Gtk.widgetTooltipText Gtk.:= + Just $ msgStr MsgPreviousPageTooltip] -- Button Zoom out oimg <- loadImage Resources.zoomOut minus <- Gtk.toolButtonNew (Just oimg) Nothing + Gtk.set minus [Gtk.widgetTooltipText Gtk.:= + Just $ msgStr MsgZoomOutTooltip] -- Button Zoom in iimg <- loadImage Resources.zoomIn plus <- Gtk.toolButtonNew (Just iimg) Nothing + Gtk.set plus [Gtk.widgetTooltipText Gtk.:= + Just $ msgStr MsgZoomInTooltip] -- Button Draw drwb <- Gtk.toggleToolButtonNew @@ -195,6 +205,8 @@ makeGUI = do -- Button MultiSelection msb <- Gtk.toggleToolButtonNew simg <- loadImage Resources.rectangularSelection + Gtk.set msb [Gtk.widgetTooltipText Gtk.:= + Just $ msgStr MsgSelectionModeTooltip] Gtk.toolButtonSetIconWidget msb $ Just simg -- Main Toolbar @@ -217,7 +229,8 @@ makeGUI = do -- Button Applidok kimg <- loadImage Resources.applidok akb <- Gtk.toolButtonNew (Just kimg) Nothing - + Gtk.set akb [Gtk.widgetTooltipText Gtk.:= + Just $ msgStr MsgApplidokTooltip] -- Mode toolbar mtoolbar <- Gtk.toolbarNew @@ -317,14 +330,19 @@ makeGUI = do Gtk.boxPackStart hbox vbox Gtk.PackGrow 0 Gtk.boxPackStart hbox vleft Gtk.PackNatural 0 - -- Properties + -- Remove button rem <- Gtk.buttonNewWithLabel $ msgStr MsgRemove rmimg <- loadImage Resources.drawEraser Gtk.buttonSetImage rem rmimg + Gtk.set rem [Gtk.widgetTooltipText Gtk.:= + Just $ msgStr MsgRemoveTooltip] + -- Apply button app <- Gtk.buttonNewWithLabel $ msgStr MsgApply apimg <- loadImage Resources.dialogAccept Gtk.buttonSetImage app apimg + Gtk.set app [Gtk.widgetTooltipText Gtk.:= + Just $ msgStr MsgApplyTooltip] idxspin <- Gtk.spinButtonNewWithRange 0 200 1 nlabel <- Gtk.labelNew (Just $ msgStr MsgName) @@ -363,7 +381,7 @@ makeGUI = do Gtk.tableAttachDefaults table idxspin 1 2 3 4 Gtk.tableSetRowSpacings table 10 Gtk.tableSetColSpacings table 10 - let types = ["text", "checkbox", "radio", "textcell"] + let types = ["text", "checkbox", "radio", "comboitem", "textcell"] traverse_ (Gtk.listStoreAppend tstore) types Gtk.containerAdd salign hsep Gtk.widgetSetSensitive rem False @@ -520,7 +538,7 @@ guiClearPdfCache gui -------------------------------------------------------------------------------- layoutMapping :: Rect -> [Gtk.AttrOp Gtk.CellRendererText] layoutMapping r - | r ^. rectType == "radio" = + | r ^. rectType == "radio" || r ^. rectType == "comboitem" = let value = fromMaybe "" (r ^. rectValue) name = r ^. rectName label = name ++ " (" ++ value ++ ")" in diff --git a/Dhek/Signal.hs b/Dhek/Signal.hs index bff1862..05c40da 100644 --- a/Dhek/Signal.hs +++ b/Dhek/Signal.hs @@ -179,7 +179,7 @@ connectSignals g i = do _ <- Gtk.on (guiTypeCombo g) Gtk.changed $ do opt <- Gtk.comboBoxGetActiveText $ guiTypeCombo g for_ opt $ \c -> do - gtkSetValuePropVisible (c == "radio") g + gtkSetValuePropVisible (c == "radio" || c == "comboitem") g gtkSetIndexPropVisible (c == "textcell") g Gtk.on (guiVRuler g) Gtk.buttonPressEvent $ Gtk.tryEvent $ liftIO $ diff --git a/dhek.cabal b/dhek.cabal index 9c87726..5425821 100644 --- a/dhek.cabal +++ b/dhek.cabal @@ -1,5 +1,5 @@ name: dhek -version: 1.0.11 +version: 1.0.12 -- synopsis: -- description: -- license: diff --git a/messages/en.msg b/messages/en.msg index ee2c190..7ecdfbf 100644 --- a/messages/en.msg +++ b/messages/en.msg @@ -6,6 +6,7 @@ EnableOverlap: Enable overlapping areas Previous: Previous Next: Next Remove: Remove +RemoveTooltip: Remove selected areas Name: Name Type: Type Areas: Areas @@ -18,6 +19,7 @@ Choose: Choose ChooseJSON: Choose a JSON file MainTitle: Dhek - PDF templating Apply: Apply +ApplyTooltip: Apply area changes Value: Value Yes: Yes No: No @@ -34,6 +36,13 @@ DupHelp: Drag&drop area to duplicate it SelectionHelp meta@String: Click to start selection, release to finalize. #{meta} + click to update selection. JsonFormatError msg@String: Invalid mapping file: #{msg} NormalModeTooltip: Draw areas over document +SelectionModeTooltip: Select several areas, apply bulk operations. OpenBlank: Open blank document +OpenBlankTooltip: Open an in-memory blank document to create a template from scratch BlankDocument: *Blank Document* -NoArea: No area was defined. Template file cannot be saved. \ No newline at end of file +NoArea: No area was defined. Template file cannot be saved. +ZoomInTooltip: Zoom In +ZoomOutTooltip: Zoom Out +ApplidokTooltip: Open Applidok service +PreviousPageTooltip: Go back to previous page +NextPageTooltip: Go to next page \ No newline at end of file diff --git a/messages/fr.msg b/messages/fr.msg index 6a98fed..61c86d5 100644 --- a/messages/fr.msg +++ b/messages/fr.msg @@ -6,6 +6,7 @@ EnableOverlap: Autoriser le chevauchement des zones Previous: Précédent Next: Suivant Remove: Supprimer +RemoveTooltip: Supprimer les zones sélectionnées Name: Nom Type: Type Areas: Zones @@ -18,6 +19,7 @@ Choose: Choisir ChooseJSON: Choisir un fichier JSON MainTitle: Dhek - Création de modèle PDF Apply: Appliquer +ApplyTooltip: Appliquer les changements sur la zone Value: Valeur Yes: Oui No: Non @@ -34,6 +36,13 @@ DupHelp: Glisser-déposer une zone pour la dupliquer SelectionHelp meta@String: Cliquer pour débuter une sélection, relâcher pour terminer. #{meta} + clic pour modifier la sélection. JsonFormatError msg@String: Format du fichier modèle incorrect: #{msg} NormalModeTooltip: Dessiner les zones sur le document +SelectionModeTooltip: Sélectionner plusieurs zones, modifications groupées. OpenBlank: Ouvrir un document vierge +OpenBlankTooltip: Ouvrir un document vierge, pour créer un modèle de zéro. BlankDocument: *Document vierge* NoArea: Aucune zone n'a été ajoutée. Le fichier modèle ne peut être sauvegardé. +ZoomInTooltip: Augmenter l'échelle du document +ZoomOutTooltip: Diminuer l'échelle du document +ApplidokTooltip: Ouvrir le service Applidok +PreviousPageTooltip: Aller à la page précédente +NextPageTooltip: Aller à la page suivante \ No newline at end of file