save windows position and visibility

master
Steffen Pohle 3 years ago
parent 2ccc66a359
commit f8a576e676

@ -111,7 +111,7 @@ void Configuration::SaveConfig(std::string filename) {
//
// save windows position
for (i = 0; i < 5; i++) {
int x, y, w, h;
int x, y, w, h, show;
string name;
switch (i) {
@ -135,6 +135,8 @@ void Configuration::SaveConfig(std::string filename) {
GtkWidget *wnd = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), name.c_str()));
if (wnd) {
g_object_get (wnd, "visible", &show, NULL);
gtk_widget_show (wnd);
gtk_window_get_position (GTK_WINDOW(wnd), &x, &y);
gtk_window_get_size (GTK_WINDOW(wnd), &w, &h);
@ -142,6 +144,7 @@ void Configuration::SaveConfig(std::string filename) {
jp.AddObject(name+"_y", y);
jp.AddObject(name+"_w", w);
jp.AddObject(name+"_h", h);
jp.AddObject(name+"_show", show);
}
}
@ -250,7 +253,7 @@ void Configuration::LoadConfig(std::string filename) {
//
// load windows position
for (i = 0; i < 5; i++) {
int x, y, w, h;
int x, y, w, h, show;
string name;
switch (i) {
@ -272,13 +275,15 @@ void Configuration::LoadConfig(std::string filename) {
}
if (jp.GetValueInt(name+"_x", &x) && jp.GetValueInt(name+"_y", &y) &&
jp.GetValueInt(name+"_w", &w) && jp.GetValueInt(name+"_h", &h)) {
jp.GetValueInt(name+"_w", &w) && jp.GetValueInt(name+"_h", &h) &&
jp.GetValueInt(name+"_show", &show)) {
GtkWidget *wnd = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), name.c_str()));
if (wnd) {
printf ("%s:%d window '%s' set geometry %d,%d : %d x %d\n", __FILE__, __LINE__, name.c_str(), x, y, w, h);
gtk_window_move (GTK_WINDOW(wnd), x, y);
gtk_window_resize (GTK_WINDOW(wnd), w, h);
if (show) gtk_widget_show(wnd);
}
}
}

@ -59,14 +59,10 @@ void cb_window_show (GtkWidget *widget, gpointer data) {
GtkWidget *rboff = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "detect-pos-cboff"));
GtkWidget *rbcrossc = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "detect-type-indet2"));
GtkWidget *win_detect = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "window-detect"));
GtkWidget *win_input = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "window-input"));
GtkWidget *win_output = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "window-output"));
GtkWidget *win_histogram = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "window-histogram"));
gtk_widget_show (win_detect);
gtk_widget_show (win_input);
gtk_widget_show (win_output);
gtk_widget_show (win_histogram);
// GtkWidget *win_detect = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "window-detect"));
// GtkWidget *win_input = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "window-input"));
// GtkWidget *win_output = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "window-output"));
// GtkWidget *win_histogram = GTK_WIDGET(gtk_builder_get_object (GTK_BUILDER(_builder_), "window-histogram"));
// changing the value, will cause the 'change' event to be triggered
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rboff), true);
@ -91,6 +87,11 @@ void cb_window_show (GtkWidget *widget, gpointer data) {
//
// update the input video controls every 2 seconds.
g_timeout_add(2000, videoctrl_update, NULL);
// gtk_widget_show (win_detect);
// gtk_widget_show (win_input);
// gtk_widget_show (win_output);
// gtk_widget_show (win_histogram);
};

@ -596,13 +596,24 @@
</packing>
</child>
<child>
<object class="GtkButton" id="btn_inputflat">
<property name="label" translatable="yes">Flat</property>
<object class="GtkComboBoxText">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<signal name="activate" handler="cb_input_btnflat" swapped="no"/>
<signal name="pressed" handler="cb_input_btnflat" swapped="no"/>
<property name="can-focus">False</property>
<property name="has-frame">False</property>
<property name="button-sensitivity">on</property>
<property name="has-entry">True</property>
<items>
<item translatable="yes">FLAT</item>
<item translatable="yes">was anderes</item>
</items>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
<property name="editable">False</property>
<property name="width-chars">6</property>
<property name="text" translatable="yes">FLAT</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>

Loading…
Cancel
Save