summaryrefslogtreecommitdiff
path: root/ldmicro/lutdialog.cpp
diff options
context:
space:
mode:
authorakshay-c2019-01-18 16:25:30 +0530
committerakshay-c2019-01-18 16:25:30 +0530
commitc41c6cc508d94d97eed40ad8efd4b8dfd4a105f6 (patch)
treea098e5fe96b68a705b1602413f56a3e05f732acd /ldmicro/lutdialog.cpp
parent252f21ab1f1639a1e936fe0e7b77975b40a0df7a (diff)
downloadLDMicroGtk-c41c6cc508d94d97eed40ad8efd4b8dfd4a105f6.tar.gz
LDMicroGtk-c41c6cc508d94d97eed40ad8efd4b8dfd4a105f6.tar.bz2
LDMicroGtk-c41c6cc508d94d97eed40ad8efd4b8dfd4a105f6.zip
Refined close for timers, close defined for other dialogs
Diffstat (limited to 'ldmicro/lutdialog.cpp')
-rw-r--r--ldmicro/lutdialog.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/ldmicro/lutdialog.cpp b/ldmicro/lutdialog.cpp
index 04e7684..1bfe8c5 100644
--- a/ldmicro/lutdialog.cpp
+++ b/ldmicro/lutdialog.cpp
@@ -86,6 +86,24 @@ void LutDialogMyNumberProc (GtkEditable *editable, gchar *NewText, gint length,
}
}
+gboolean LutDialogClosing(GtkWidget *widget, GdkEvent *event, gpointer user_data)
+{
+ DestroyWindow (LutDialog);
+ ProgramChanged();
+ gtk_widget_set_sensitive (MainWindow, TRUE);
+ g_source_remove (LUT_DIALOG_REFRESH_TIMER_ID_1);
+ LUT_DIALOG_REFRESH_TIMER_ID_1 = 0;
+}
+
+gboolean LutDialogDestroyed(GtkWidget *widget, GdkEvent *event, gpointer user_data)
+{
+ DestroyWindow (LutDialog);
+ ProgramChanged();
+ gtk_widget_set_sensitive (MainWindow, TRUE);
+ g_source_remove (LUT_DIALOG_REFRESH_TIMER_ID_1);
+ LUT_DIALOG_REFRESH_TIMER_ID_1 = 0;
+}
+
//-----------------------------------------------------------------------------
// Don't allow any characters other than 0-9 in the count.
//-----------------------------------------------------------------------------
@@ -571,6 +589,8 @@ void ShowLookUpTableDialog(ElemLeaf *l)
G_CALLBACK(LutDialogOk), (gpointer)l);
g_signal_connect (G_OBJECT (CancelButton), "clicked",
G_CALLBACK(LutCallCancel), NULL);
+ g_signal_connect (LutDialog, "destroy_event", G_CALLBACK (LutDialogClosing), NULL);
+ g_signal_connect (LutDialog, "delete_event", G_CALLBACK (LutDialogDestroyed), NULL);
if (LUT_DIALOG_REFRESH_TIMER_ID_1 == 0)
LUT_DIALOG_REFRESH_TIMER_ID_1 = g_timeout_add(100, (GSourceFunc)LutDialogRefresh, (gpointer)l);