Code

Initial cut of glyph selector dialog is in. Fixes bug #343186.
authorJon A. Cruz <jon@joncruz.org>
Thu, 1 Apr 2010 09:36:46 +0000 (02:36 -0700)
committerJon A. Cruz <jon@joncruz.org>
Thu, 1 Apr 2010 09:36:46 +0000 (02:36 -0700)
src/menus-skeleton.h
src/ui/dialog/Makefile_insert
src/ui/dialog/dialog-manager.cpp
src/ui/widget/panel.cpp
src/verbs.cpp
src/verbs.h

index 581b8b39c2d1b77f92f0fe8c11320c800070cb15..978b555b08df6cd310d4933e9974e302e45c5382 100644 (file)
@@ -228,6 +228,7 @@ static char const menus_skeleton[] =
 #ifdef ENABLE_SVG_FONTS
 "       <verb verb-id=\"DialogSVGFonts\" />\n"
 #endif // ENABLE_SVG_FONTS
+"       <verb verb-id=\"DialogGlyphs\" />\n"
 "       <separator/>\n"
 "       <verb verb-id=\"SelectionTextToPath\" />\n"
 "       <verb verb-id=\"SelectionTextFromPath\" />\n"
index 033bec875e8d65ccc6bef8d9713ded814f795343..7546bc1959074725481795be935950be9f9b92b1 100644 (file)
@@ -50,6 +50,8 @@ ink_common_sources +=         \
        ui/dialog/find.h                        \
        ui/dialog/floating-behavior.cpp         \
        ui/dialog/floating-behavior.h           \
+       ui/dialog/glyphs.cpp                    \
+       ui/dialog/glyphs.h                      \
        ui/dialog/guides.cpp                    \
        ui/dialog/guides.h                      \
        ui/dialog/icon-preview.cpp              \
index 30cbed64932dcf5def27aed113deda903b3caad6..6d3bc817e166bd1df6284d6f834c60d4b791dd5b 100644 (file)
@@ -25,6 +25,7 @@
 #include "ui/dialog/fill-and-stroke.h"
 #include "ui/dialog/filter-effects-dialog.h"
 #include "ui/dialog/find.h"
+#include "ui/dialog/glyphs.h"
 #include "ui/dialog/inkscape-preferences.h"
 #include "ui/dialog/input.h"
 #include "ui/dialog/livepatheffect-editor.h"
@@ -96,6 +97,7 @@ DialogManager::DialogManager() {
         registerFactory("FillAndStroke",       &create<FillAndStroke,        FloatingBehavior>);
         registerFactory("FilterEffectsDialog", &create<FilterEffectsDialog,  FloatingBehavior>);
         registerFactory("Find",                &create<Find,                 FloatingBehavior>);
+        registerFactory("Glyphs",              &create<GlyphsPanel,          FloatingBehavior>);
         registerFactory("IconPreviewPanel",    &create<IconPreviewPanel,     FloatingBehavior>);
         registerFactory("InkscapePreferences", &create<InkscapePreferences,  FloatingBehavior>);
         registerFactory("LayersPanel",         &create<LayersPanel,          FloatingBehavior>);
@@ -123,6 +125,7 @@ DialogManager::DialogManager() {
         registerFactory("FillAndStroke",       &create<FillAndStroke,        DockBehavior>);
         registerFactory("FilterEffectsDialog", &create<FilterEffectsDialog,  DockBehavior>);
         registerFactory("Find",                &create<Find,                 DockBehavior>);
+        registerFactory("Glyphs",              &create<GlyphsPanel,          DockBehavior>);
         registerFactory("IconPreviewPanel",    &create<IconPreviewPanel,     DockBehavior>);
         registerFactory("InkscapePreferences", &create<InkscapePreferences,  DockBehavior>);
         registerFactory("LayersPanel",         &create<LayersPanel,          DockBehavior>);
@@ -159,11 +162,11 @@ DialogManager &DialogManager::getInstance()
     /* Use singleton behavior for floating dialogs */
     if (dialogs_type == FLOATING) {
         static DialogManager *instance = 0;
-        
+
         if (!instance)
             instance = new DialogManager();
         return *instance;
-    } 
+    }
 
     return *new DialogManager();
 }
index 93a950d1a4da33f18c860d48b86fe4cc9097ca3d..4b806afb53981ba3ec3093c8cb830f26381bc7f4 100644 (file)
@@ -133,9 +133,9 @@ void Panel::_init()
     {
         //TRANSLATORS: only translate "string" in "context|string".
         // For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS
-       Glib::ustring heightItemLabel(Q_("swatches|Size"));
+        Glib::ustring heightItemLabel(Q_("swatches|Size"));
 
-       //TRANSLATORS: Indicates size of colour swatches
+        //TRANSLATORS: Indicates size of colour swatches
         const gchar *heightLabels[] = {
             N_("tiny"),
             N_("small"),
@@ -157,7 +157,7 @@ void Panel::_init()
             Gtk::RadioMenuItem* _item = manage(new Gtk::RadioMenuItem(heightGroup, _label));
             sizeMenu->append(*_item);
             if (i == panel_size) {
-               _item->set_active(true);
+                _item->set_active(true);
             }
             _item->signal_activate().connect(sigc::bind<int, int>(sigc::mem_fun(*this, &Panel::_bounceCall), PANEL_SETTING_SIZE, i));
        }
@@ -198,11 +198,11 @@ void Panel::_init()
             }
         }
         for ( guint i = 0; i < G_N_ELEMENTS(widthLabels); ++i ) {
-               Glib::ustring _label(Q_(widthLabels[i]));
+            Glib::ustring _label(Q_(widthLabels[i]));
             Gtk::RadioMenuItem *_item = manage(new Gtk::RadioMenuItem(widthGroup, _label));
             type_menu->append(*_item);
             if ( i <= hot_index ) {
-               _item->set_active(true);
+                _item->set_active(true);
             }
             _item->signal_activate().connect(sigc::bind<int, int>(sigc::mem_fun(*this, &Panel::_bounceCall), PANEL_SETTING_SHAPE, values[i]));
         }
@@ -212,7 +212,7 @@ void Panel::_init()
         //TRANSLATORS: only translate "string" in "context|string".
         // For more details, see http://developer.gnome.org/doc/API/2.0/glib/glib-I18N.html#Q-:CAPS
         // "Wrap" indicates how colour swatches are displayed
-       Glib::ustring wrap_label(Q_("swatches|Wrap"));
+        Glib::ustring wrap_label(Q_("swatches|Wrap"));
         Gtk::CheckMenuItem *check = manage(new Gtk::CheckMenuItem(wrap_label));
         check->set_active(panel_wrap);
         _menu->append(*check);
index dc1116953c8dc86b5b5d8cfc0614270f1464ff0d..66b6140b446df068ca3a6b268b3a2eb8d2b7ff5f 100644 (file)
@@ -73,6 +73,7 @@
 #include "ui/dialog/dialog-manager.h"
 #include "ui/dialog/document-properties.h"
 #include "ui/dialog/extensions.h"
+#include "ui/dialog/glyphs.h"
 #include "ui/dialog/icon-preview.h"
 #include "ui/dialog/inkscape-preferences.h"
 #include "ui/dialog/layer-properties.h"
@@ -1731,6 +1732,9 @@ DialogVerb::perform(SPAction *action, void *data, void */*pdata*/)
         case SP_VERB_DIALOG_FILL_STROKE:
             dt->_dlg_mgr->showDialog("FillAndStroke");
             break;
+        case SP_VERB_DIALOG_GLYPHS:
+            dt->_dlg_mgr->showDialog("Glyphs");
+            break;
         case SP_VERB_DIALOG_SWATCHES:
             dt->_dlg_mgr->showDialog("Swatches");
             break;
@@ -2597,6 +2601,8 @@ Verb *Verb::_base_verbs[] = {
                    N_("Edit document metadata (to be saved with the document)"), INKSCAPE_ICON_DOCUMENT_METADATA ),
     new DialogVerb(SP_VERB_DIALOG_FILL_STROKE, "DialogFillStroke", N_("_Fill and Stroke..."),
                    N_("Edit objects' colors, gradients, stroke width, arrowheads, dash patterns..."), INKSCAPE_ICON_DIALOG_FILL_AND_STROKE),
+    new DialogVerb(SP_VERB_DIALOG_GLYPHS, "DialogGlyphs", N_("Glyphs..."),
+                   N_("Select characters from a glyphs palette"), GTK_STOCK_SELECT_FONT),
     // TRANSLATORS: "Swatches" means: color samples
     new DialogVerb(SP_VERB_DIALOG_SWATCHES, "DialogSwatches", N_("S_watches..."),
                    N_("Select colors from a swatches palette"), GTK_STOCK_SELECT_COLOR),
index 7cc580f261c08bf44b0c0ef3a1e5e045c32297b7..eea6042c0f92720f3f8d648fd9295fa8ea3a9825 100644 (file)
@@ -227,6 +227,7 @@ enum {
     SP_VERB_DIALOG_NAMEDVIEW,
     SP_VERB_DIALOG_METADATA,
     SP_VERB_DIALOG_FILL_STROKE,
+    SP_VERB_DIALOG_GLYPHS,
     SP_VERB_DIALOG_SWATCHES,
     SP_VERB_DIALOG_TRANSFORM,
     SP_VERB_DIALOG_ALIGN_DISTRIBUTE,