#46: Add open callback to GApplication
This commit is contained in:
parent
504dc476b1
commit
bc2fe92e07
16
main.c
16
main.c
@ -171,6 +171,16 @@ static void gapp_activate(GApplication *app, gpointer user_data)
|
|||||||
gtk_widget_show(GTK_WIDGET(main_window));
|
gtk_widget_show(GTK_WIDGET(main_window));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Activation of GUI when opening a file from commandline
|
||||||
|
* @param app he GApplication reference
|
||||||
|
* @param user_data Used to store the individual GUI instances.
|
||||||
|
*/
|
||||||
|
static void gapp_activate_open(GApplication *app, gpointer user_data)
|
||||||
|
{
|
||||||
|
gapp_activate(app, user_data);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Start the graphical interface.
|
* @brief Start the graphical interface.
|
||||||
*
|
*
|
||||||
@ -201,10 +211,11 @@ static int start_gui(int argc, char **argv)
|
|||||||
application_domain = g_string_new(NULL);
|
application_domain = g_string_new(NULL);
|
||||||
g_string_printf(application_domain, "de.shimatta.gds_render_%s", _app_git_commit);
|
g_string_printf(application_domain, "de.shimatta.gds_render_%s", _app_git_commit);
|
||||||
|
|
||||||
gapp = gtk_application_new(application_domain->str, G_APPLICATION_FLAGS_NONE);
|
gapp = gtk_application_new(application_domain->str, G_APPLICATION_HANDLES_OPEN);
|
||||||
g_string_free(application_domain, TRUE);
|
g_string_free(application_domain, TRUE);
|
||||||
|
|
||||||
g_application_register(G_APPLICATION(gapp), NULL, NULL);
|
g_application_register(G_APPLICATION(gapp), NULL, NULL);
|
||||||
|
g_signal_connect(gapp, "open", G_CALLBACK(gapp_activate_open), &appdata);
|
||||||
g_signal_connect(gapp, "activate", G_CALLBACK(gapp_activate), &appdata);
|
g_signal_connect(gapp, "activate", G_CALLBACK(gapp_activate), &appdata);
|
||||||
|
|
||||||
if (g_application_get_is_remote(G_APPLICATION(gapp)) == TRUE) {
|
if (g_application_get_is_remote(G_APPLICATION(gapp)) == TRUE) {
|
||||||
@ -311,7 +322,8 @@ int main(int argc, char **argv)
|
|||||||
goto ret_status;
|
goto ret_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (argc >= 2) {
|
/* A minimum of a file name and a cell or analyze command are needed to use CLI */
|
||||||
|
if (argc >= 2 && (analyze || cellname || output_paths)) {
|
||||||
if (scale < 1) {
|
if (scale < 1) {
|
||||||
printf(_("Scale < 1 not allowed. Setting to 1\n"));
|
printf(_("Scale < 1 not allowed. Setting to 1\n"));
|
||||||
scale = 1;
|
scale = 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user