diff --git a/source/window.d b/source/window.d index d75065a..4889680 100644 --- a/source/window.d +++ b/source/window.d @@ -23,6 +23,7 @@ import gtk.Button; import gtk.ScrolledWindow; import gtk.AccelGroup; import gtk.HBox; +import gdk.Keysyms; import twoda; @@ -47,6 +48,7 @@ class Window : MainWindow{ auto buttonDelete = new Button("user-trash-symbolic", GtkIconSize.SMALL_TOOLBAR); auto buttonRenumber = new Button("view-list-symbolic", GtkIconSize.SMALL_TOOLBAR); auto buttonNewCol = new Button("tab-new-symbolic", GtkIconSize.SMALL_TOOLBAR); + auto buttonLocale = new Button("accessories-dictionary-symbolic", GtkIconSize.SMALL_TOOLBAR); buttonSave.setTooltipText("Save"); buttonSaveAs.setTooltipText("Save as"); @@ -55,10 +57,11 @@ class Window : MainWindow{ buttonDelete.setTooltipText("Delete row"); buttonRenumber.setTooltipText("Renumber all rows"); buttonNewCol.setTooltipText("Add new column"); + buttonLocale.setTooltipText("Set locale table suffix"); - enum GDK_KEY_S = 0x053; - buttonSave.addAccelerator("clicked", accel, GDK_KEY_S, GdkModifierType.CONTROL_MASK, GtkAccelFlags.VISIBLE); - buttonSaveAs.addAccelerator("clicked", accel, GDK_KEY_S, GdkModifierType.CONTROL_MASK|GdkModifierType.SHIFT_MASK, GtkAccelFlags.VISIBLE); + buttonOpen.addAccelerator("clicked", accel, GdkKeysyms.GDK_O, GdkModifierType.CONTROL_MASK, GtkAccelFlags.VISIBLE); + buttonSave.addAccelerator("clicked", accel, GdkKeysyms.GDK_S, GdkModifierType.CONTROL_MASK, GtkAccelFlags.VISIBLE); + buttonSaveAs.addAccelerator("clicked", accel, GdkKeysyms.GDK_S, GdkModifierType.CONTROL_MASK|GdkModifierType.SHIFT_MASK, GtkAccelFlags.VISIBLE); //Header bar import gtk.HeaderBar; @@ -69,6 +72,7 @@ class Window : MainWindow{ header.setProperty("show-close-button", true); header.packStart(buttonOpen); + header.packStart(buttonLocale); header.packEnd(buttonSaveAs); header.packEnd(buttonSave); @@ -117,7 +121,7 @@ class Window : MainWindow{ buttonSaveAs.addOnClicked((Button){ import gtk.FileChooserDialog; - auto fc = new FileChooserDialog("Save 2DA as", window, FileChooserAction.SAVE); + auto fc = new FileChooserDialog("Save 2DA as", this, FileChooserAction.SAVE); fc.setDoOverwriteConfirmation(true); fc.setCreateFolders(true); fc.setCurrentFolder(openedFile!=""? dirName(openedFile) : getcwd()); @@ -132,7 +136,7 @@ class Window : MainWindow{ buttonOpen.addOnClicked((Button){ import gtk.FileChooserDialog; - auto fc = new FileChooserDialog("Open 2DA", window, FileChooserAction.OPEN); + auto fc = new FileChooserDialog("Open 2DA", this, FileChooserAction.OPEN); fc.setSelectMultiple(false); fc.setCurrentFolder(openedFile!=""? dirName(openedFile) : getcwd()); auto res = fc.run(); @@ -233,12 +237,16 @@ class Window : MainWindow{ //setup cols foreach(i ; 0..newColIndex+1){ - tree.appendColumn(SetupColumn(tree, titles[i], i)); + tree.appendColumn(setupColumn(tree, titles[i], i)); } oldstore.destroy(); }); + buttonLocale.addOnClicked((Button){ + displayMessage("Not implemented"); + }); + //Open if exists @@ -383,7 +391,7 @@ class Window : MainWindow{ //Setup TreeView columns foreach(index, s ; twoda.header){ - auto col = SetupColumn(tree, s, index); + auto col = setupColumn(tree, s, index); tree.appendColumn(col); } @@ -415,7 +423,6 @@ class Window : MainWindow{ private: - MainWindow window; HBox statusbar; HeaderBar header; @@ -435,13 +442,13 @@ private: return -1; } - auto ref SetupColumn(TreeView tree, string sName, size_t index){ + auto ref setupColumn(TreeView tree, string sName, size_t index){ auto store = cast(ListStore)tree.getModel(); CellRendererText cr = new CellRendererText(); cr.setProperty("editable", true); if(index==0){ - cr.setProperty("background-rgba", cast(ulong)(new GdkRGBA(0.36, 0.13, 0.4, 0.5))); + cr.setProperty("background-rgba", cast(ulong)(new GdkRGBA(0.5, 0.7, 1, 1))); cr.setProperty("background-set", true); cr.addOnEdited((string path, string newval, CellRendererText crt){ @@ -478,7 +485,7 @@ private: col.setReorderable(true); col.addOnClicked((TreeViewColumn col){ import gtk.Dialog; - auto dlg = new Dialog("Column options", window, GtkDialogFlags.MODAL, ["Close"], [ResponseType.CANCEL]); + auto dlg = new Dialog("Column options", this, GtkDialogFlags.MODAL, ["Close"], [ResponseType.CANCEL]); //Rename dlg.getContentArea.packStart(new Label("Rename:"), false, false, 0);