summaryrefslogtreecommitdiff
path: root/fluid/alignment_panel.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'fluid/alignment_panel.cxx')
-rw-r--r--fluid/alignment_panel.cxx130
1 files changed, 81 insertions, 49 deletions
diff --git a/fluid/alignment_panel.cxx b/fluid/alignment_panel.cxx
index 8ce1725b0..2fb6dafa3 100644
--- a/fluid/alignment_panel.cxx
+++ b/fluid/alignment_panel.cxx
@@ -326,30 +326,32 @@ Fl_Double_Window *shell_window=(Fl_Double_Window *)0;
Fl_Input *shell_command_input=(Fl_Input *)0;
-static void cb_shell_command_input(Fl_Input*, void*) {
- fluid_prefs.set("shell_command", shell_command_input->value());
-}
+Fl_Check_Button *shell_savefl_button=(Fl_Check_Button *)0;
Fl_Check_Button *shell_writecode_button=(Fl_Check_Button *)0;
-static void cb_shell_writecode_button(Fl_Check_Button*, void*) {
- fluid_prefs.set("shell_writecode", shell_writecode_button->value());
-}
-
Fl_Check_Button *shell_writemsgs_button=(Fl_Check_Button *)0;
-static void cb_shell_writemsgs_button(Fl_Check_Button*, void*) {
- fluid_prefs.set("shell_writemsgs", shell_writemsgs_button->value());
+Fl_Check_Button *shell_use_fl_button=(Fl_Check_Button *)0;
+
+static void cb_shell_use_fl_button(Fl_Check_Button*, void*) {
+ g_shell_use_fl_settings = shell_use_fl_button->value();
+fluid_prefs.set("shell_use_fl", g_shell_use_fl_settings);
}
-Fl_Check_Button *shell_savefl_button=(Fl_Check_Button *)0;
+static void cb_save(Fl_Button*, void*) {
+ apply_shell_window();
+shell_prefs_set();
+}
-static void cb_shell_savefl_button(Fl_Check_Button*, void*) {
- fluid_prefs.set("shell_savefl", shell_savefl_button->value());
+static void cb_Run(Fl_Return_Button*, void*) {
+ apply_shell_window();
+do_shell_command(NULL, NULL);
}
static void cb_Cancel(Fl_Button*, void*) {
- shell_window->hide();
+ shell_command_input->value(g_shell_command);
+shell_window->hide();
}
Fl_Double_Window *shell_run_window=(Fl_Double_Window *)0;
@@ -368,42 +370,72 @@ shell_run_window->hide();
}
Fl_Double_Window* make_shell_window() {
- { shell_window = new Fl_Double_Window(365, 125, "Shell Command");
- { shell_command_input = new Fl_Input(10, 27, 347, 25, "Command:");
- shell_command_input->labelfont(1);
- shell_command_input->callback((Fl_Callback*)cb_shell_command_input);
- shell_command_input->align(Fl_Align(FL_ALIGN_TOP_LEFT));
- char buf[1024];
- fluid_prefs.get("shell_command", buf, "", sizeof(buf));
- shell_command_input->value(buf);
- } // Fl_Input* shell_command_input
- { shell_writecode_button = new Fl_Check_Button(128, 61, 93, 19, "Write Code");
- shell_writecode_button->down_box(FL_DOWN_BOX);
- shell_writecode_button->callback((Fl_Callback*)cb_shell_writecode_button);
- int b;
- fluid_prefs.get("shell_writecode", b, 1);
- shell_writecode_button->value(b);
- } // Fl_Check_Button* shell_writecode_button
- { shell_writemsgs_button = new Fl_Check_Button(231, 61, 126, 19, "Write Messages");
- shell_writemsgs_button->down_box(FL_DOWN_BOX);
- shell_writemsgs_button->callback((Fl_Callback*)cb_shell_writemsgs_button);
- int b;
- fluid_prefs.get("shell_writemsgs", b, 0);
- shell_writemsgs_button->value(b);
- } // Fl_Check_Button* shell_writemsgs_button
- { shell_savefl_button = new Fl_Check_Button(10, 62, 108, 19, "Save .FL File");
- shell_savefl_button->down_box(FL_DOWN_BOX);
- shell_savefl_button->callback((Fl_Callback*)cb_shell_savefl_button);
- int b;
- fluid_prefs.get("shell_savefl", b, 1);
- shell_savefl_button->value(b);
- } // Fl_Check_Button* shell_savefl_button
- { Fl_Return_Button* o = new Fl_Return_Button(132, 90, 143, 25, "Run Command");
- o->callback((Fl_Callback*)do_shell_command);
- } // Fl_Return_Button* o
- { Fl_Button* o = new Fl_Button(285, 90, 72, 25, "Cancel");
- o->callback((Fl_Callback*)cb_Cancel);
- } // Fl_Button* o
+ { shell_window = new Fl_Double_Window(365, 200, "Shell Command");
+ { Fl_Group* o = new Fl_Group(0, 0, 365, 165);
+ { shell_command_input = new Fl_Input(82, 14, 277, 20, "Command:");
+ shell_command_input->tooltip("external shell command");
+ shell_command_input->labelfont(1);
+ shell_command_input->labelsize(12);
+ shell_command_input->textfont(4);
+ shell_command_input->textsize(12);
+ Fl_Group::current()->resizable(shell_command_input);
+ } // Fl_Input* shell_command_input
+ { shell_savefl_button = new Fl_Check_Button(82, 39, 136, 19, "save .fl design file");
+ shell_savefl_button->tooltip("save the design to the .fl file before running the command");
+ shell_savefl_button->down_box(FL_DOWN_BOX);
+ shell_savefl_button->labelsize(12);
+ } // Fl_Check_Button* shell_savefl_button
+ { shell_writecode_button = new Fl_Check_Button(82, 59, 120, 19, "save source code");
+ shell_writecode_button->tooltip("generate the source code and header file before running the command");
+ shell_writecode_button->down_box(FL_DOWN_BOX);
+ shell_writecode_button->labelsize(12);
+ } // Fl_Check_Button* shell_writecode_button
+ { shell_writemsgs_button = new Fl_Check_Button(82, 79, 126, 19, "save i18n strings");
+ shell_writemsgs_button->tooltip("save the internationalisation string before running the command");
+ shell_writemsgs_button->down_box(FL_DOWN_BOX);
+ shell_writemsgs_button->labelsize(12);
+ } // Fl_Check_Button* shell_writemsgs_button
+ { shell_use_fl_button = new Fl_Check_Button(82, 110, 180, 19, "use settings in .fl design files");
+ shell_use_fl_button->tooltip("check to read and write shell command from and to .fl files");
+ shell_use_fl_button->down_box(FL_DOWN_BOX);
+ shell_use_fl_button->labelsize(12);
+ shell_use_fl_button->callback((Fl_Callback*)cb_shell_use_fl_button);
+ } // Fl_Check_Button* shell_use_fl_button
+ { Fl_Box* o = new Fl_Box(82, 103, 275, 1);
+ o->box(FL_BORDER_FRAME);
+ o->color(FL_FOREGROUND_COLOR);
+ } // Fl_Box* o
+ { Fl_Group* o = new Fl_Group(82, 134, 273, 20);
+ { Fl_Button* o = new Fl_Button(82, 134, 104, 20, "save as default");
+ o->tooltip("update the Fluid app settings for external shell commands to the current sett\
+ings");
+ o->labelsize(12);
+ o->callback((Fl_Callback*)cb_save);
+ } // Fl_Button* o
+ { Fl_Box* o = new Fl_Box(186, 136, 169, 15);
+ Fl_Group::current()->resizable(o);
+ } // Fl_Box* o
+ o->end();
+ } // Fl_Group* o
+ o->end();
+ } // Fl_Group* o
+ { Fl_Group* o = new Fl_Group(0, 160, 365, 40);
+ { Fl_Box* o = new Fl_Box(10, 167, 135, 25);
+ Fl_Group::current()->resizable(o);
+ } // Fl_Box* o
+ { Fl_Return_Button* o = new Fl_Return_Button(145, 167, 100, 25, "Run");
+ o->tooltip("save selected files and run the command");
+ o->labelsize(12);
+ o->callback((Fl_Callback*)cb_Run);
+ } // Fl_Return_Button* o
+ { Fl_Button* o = new Fl_Button(255, 167, 100, 25, "Cancel");
+ o->labelsize(12);
+ o->callback((Fl_Callback*)cb_Cancel);
+ } // Fl_Button* o
+ o->end();
+ } // Fl_Group* o
+ shell_window->set_modal();
+ shell_window->size_range(365, 200, 365, 200);
shell_window->end();
} // Fl_Double_Window* shell_window
{ shell_run_window = new Fl_Double_Window(555, 430, "Shell Command Output");