~ubuntu-branches/debian/sid/xiphos/sid

« back to all changes in this revision

Viewing changes to src/gnome2/mod_mgr.c

  • Committer: Package Import Robot
  • Author(s): Dimitri John Ledkov
  • Date: 2014-07-12 17:08:46 UTC
  • mfrom: (1.3.3)
  • Revision ID: package-import@ubuntu.com-20140712170846-ja9jzhgt51d3fkrd
Tags: 3.2.2+dfsg1-1
* New upstream release.
* Bump standards version.
* Switch uscan to sf.net redirector.
* Unpack waf in get-orig-source target.
* Bump to debhelper 9.
* Add uuid-dev build-dep.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 * Xiphos Bible Study Tool
3
3
 * gnome2/mod_mgr.c
4
4
 *
5
 
 * Copyright (C) 2000-2011 Xiphos Developer Team
 
5
 * Copyright (C) 2000-2014 Xiphos Developer Team
6
6
 *
7
7
 * This program is free software; you can redistribute it and/or modify
8
8
 * it under the terms of the GNU General Public License as published by
151
151
static GtkWidget *radiobutton4;
152
152
static GtkWidget *combo_entry1;
153
153
static GtkWidget *combo_entry2;
154
 
static GtkWidget *dialog;
 
154
static GtkWidget *dialog_modmgr;
155
155
static GtkWidget *treeview_local;
156
156
static GtkWidget *treeview_remote;
157
157
 
217
217
    },
218
218
};
219
219
 
 
220
/******************************************************************************
 
221
 * Name
 
222
 *   on_modmgr_configure_event
 
223
 *
 
224
 * Synopsis
 
225
 *   #include "gui/main_window.h"
 
226
 *
 
227
 *   gboolean on_modmgr_configure_event(GtkWidget * widget,
 
228
 *                                 GdkEventConfigure * event,
 
229
 *                                 gpointer user_data)
 
230
 *
 
231
 * Description
 
232
 *   remember placement+size of modmgr window.
 
233
 *   cloned from on_configure_event
 
234
 *
 
235
 * Return value
 
236
 *   gboolean
 
237
 */
 
238
 
 
239
static gboolean on_modmgr_configure_event(GtkWidget * widget,
 
240
                                            GdkEventConfigure * event,
 
241
                                            gpointer user_data)
 
242
{
 
243
        gchar layout[10];
 
244
        gint x;
 
245
        gint y;
 
246
 
 
247
        gdk_window_get_root_origin(
 
248
            GDK_WINDOW(gtk_widget_get_window (dialog_modmgr)), &x, &y);
 
249
 
 
250
        settings.modmgr_width  = event->width;
 
251
        settings.modmgr_height = event->height;
 
252
        settings.modmgr_x = x;
 
253
        settings.modmgr_y = y;
 
254
 
 
255
        sprintf(layout, "%d", settings.modmgr_width);
 
256
        xml_set_value("Xiphos", "layout", "modmgr_width", layout);
 
257
 
 
258
        sprintf(layout, "%d", settings.modmgr_height);
 
259
        xml_set_value("Xiphos", "layout", "modmgr_height", layout);
 
260
 
 
261
        sprintf(layout, "%d", settings.modmgr_x);
 
262
        xml_set_value("Xiphos", "layout", "modmgr_x", layout);
 
263
 
 
264
        sprintf(layout, "%d", settings.modmgr_y);
 
265
        xml_set_value("Xiphos", "layout", "modmgr_y", layout);
 
266
        xml_save_settings_doc(settings.fnconfigure);
 
267
 
 
268
        return FALSE;
 
269
}
 
270
 
220
271
static
221
272
gboolean query_tooltip (GtkWidget  *widget,
222
273
                        gint        x,
316
367
create_pixbufs(void)
317
368
{
318
369
 
319
 
#ifdef USE_GTK_3
320
 
        INSTALLED = gtk_widget_render_icon_pixbuf(dialog,
 
370
#ifdef USE_GTK_3    
 
371
#ifdef HAVE_GTK_310
 
372
        GtkIconTheme *icon_theme =                       
 
373
                        gtk_icon_theme_get_default ();
 
374
        
 
375
        INSTALLED = gtk_icon_theme_load_icon (icon_theme,
 
376
                          "_Apply",
 
377
                          GTK_ICON_SIZE_MENU,
 
378
                          GTK_ICON_LOOKUP_FORCE_SIZE,
 
379
                          NULL);
 
380
        
 
381
        FASTICON  = pixbuf_finder("indexed-16.png", 0, NULL);
 
382
 
 
383
        NO_INDEX = gtk_icon_theme_load_icon (icon_theme,
 
384
                          "_Cancel",
 
385
                          GTK_ICON_SIZE_MENU,
 
386
                          GTK_ICON_LOOKUP_FORCE_SIZE,
 
387
                          NULL);
 
388
        
 
389
        LOCKED    = pixbuf_finder("epiphany-secure.png", 0, NULL);
 
390
        
 
391
        REFRESH   =  gtk_icon_theme_load_icon (icon_theme,
 
392
                          "view-refresh",
 
393
                          GTK_ICON_SIZE_MENU,
 
394
                          GTK_ICON_LOOKUP_FORCE_SIZE,
 
395
                          NULL);
 
396
        
 
397
        BLANK     = gtk_icon_theme_load_icon (icon_theme,
 
398
                          "gnome-stock-blank", // FIXME:
 
399
                          GTK_ICON_SIZE_MENU,
 
400
                          GTK_ICON_LOOKUP_FORCE_SIZE,
 
401
                          NULL);
 
402
#else
 
403
        INSTALLED = gtk_widget_render_icon_pixbuf(dialog_modmgr,
321
404
                                           GTK_STOCK_APPLY,
322
405
                                           GTK_ICON_SIZE_MENU);
323
406
        FASTICON  = pixbuf_finder("indexed-16.png", 0, NULL);
324
 
        NO_INDEX  = gtk_widget_render_icon_pixbuf(dialog,
 
407
        NO_INDEX  = gtk_widget_render_icon_pixbuf(dialog_modmgr,
325
408
                                           GTK_STOCK_CANCEL,
326
409
                                           GTK_ICON_SIZE_MENU);
327
410
        LOCKED    = pixbuf_finder("epiphany-secure.png", 0, NULL);
328
 
        REFRESH   = gtk_widget_render_icon_pixbuf(dialog,
 
411
        REFRESH   = gtk_widget_render_icon_pixbuf(dialog_modmgr,
329
412
                                           GTK_STOCK_REFRESH,
330
413
                                           GTK_ICON_SIZE_MENU);
331
 
        BLANK     = gtk_widget_render_icon_pixbuf(dialog,
 
414
        BLANK     = gtk_widget_render_icon_pixbuf(dialog_modmgr,
332
415
                                           "gnome-stock-blank",
333
416
                                           GTK_ICON_SIZE_MENU);
 
417
#endif  
334
418
#else
335
 
        INSTALLED = gtk_widget_render_icon(dialog,
 
419
        INSTALLED = gtk_widget_render_icon(dialog_modmgr,
336
420
                                           GTK_STOCK_APPLY,
337
421
                                           GTK_ICON_SIZE_MENU, NULL);
338
422
        FASTICON  = pixbuf_finder("indexed-16.png", 0, NULL);
339
 
        NO_INDEX  = gtk_widget_render_icon(dialog,
 
423
        NO_INDEX  = gtk_widget_render_icon(dialog_modmgr,
340
424
                                           GTK_STOCK_CANCEL,
341
425
                                           GTK_ICON_SIZE_MENU, NULL);
342
426
        LOCKED    = pixbuf_finder("epiphany-secure.png", 0, NULL);
343
 
        REFRESH   = gtk_widget_render_icon(dialog,
 
427
        REFRESH   = gtk_widget_render_icon(dialog_modmgr,
344
428
                                           GTK_STOCK_REFRESH,
345
429
                                           GTK_ICON_SIZE_MENU, NULL);
346
 
        BLANK     = gtk_widget_render_icon(dialog,
 
430
        BLANK     = gtk_widget_render_icon(dialog_modmgr,
347
431
                                           "gnome-stock-blank",
348
432
                                           GTK_ICON_SIZE_MENU, NULL);
349
433
#endif
462
546
                                        /* fixed sizing (200 pixels) */
463
547
        gtk_tree_view_column_set_sizing(GTK_TREE_VIEW_COLUMN(column),
464
548
                                        GTK_TREE_VIEW_COLUMN_FIXED);
465
 
        gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN
 
549
        gtk_tree_view_column_set_min_width(GTK_TREE_VIEW_COLUMN
466
550
                                             (column), 200);
467
551
        gtk_tree_view_append_column(treeview, column);
468
552
 
469
553
        /* -- installed -- */
470
554
        column = gtk_tree_view_column_new();
471
555
        image = (remove
 
556
#ifdef HAVE_GTK_310
 
557
                 ? gtk_image_new_from_icon_name("gnome-stock-blank",  // FIXME:
 
558
                                            GTK_ICON_SIZE_MENU)
 
559
                 : gtk_image_new_from_icon_name("_Apply",
 
560
                                            GTK_ICON_SIZE_MENU));
 
561
#else
472
562
                 ? gtk_image_new_from_stock("gnome-stock-blank",
473
563
                                            GTK_ICON_SIZE_MENU)
474
564
                 : gtk_image_new_from_stock(GTK_STOCK_APPLY,
475
565
                                            GTK_ICON_SIZE_MENU));
 
566
#endif  
476
567
        gtk_widget_show(image);
477
568
        gtk_widget_set_tooltip_text(image,
478
569
                                    (remove
491
582
        g_signal_connect(renderer, "toggled",
492
583
                         G_CALLBACK(fixed_toggled), treeview);
493
584
 
494
 
        column = gtk_tree_view_column_new();
495
 
        image = gtk_image_new_from_stock((remove
 
585
        column = gtk_tree_view_column_new(); 
 
586
        image = 
 
587
#ifdef HAVE_GTK_310
 
588
                 gtk_image_new_from_icon_name ((remove
 
589
                                          ? "_Yes" 
 
590
                                          : "list-add"),
 
591
                                         GTK_ICON_SIZE_MENU);
 
592
#else
 
593
                 gtk_image_new_from_stock((remove
496
594
                                          ? "gtk-yes" //GTK_STOCK_REMOVE
497
595
                                          : GTK_STOCK_ADD),
498
596
                                         GTK_ICON_SIZE_MENU);
 
597
#endif  
499
598
        gtk_widget_show(image);
500
599
        gtk_widget_set_tooltip_text(image,
501
600
                                    (remove
512
611
                                        /* fixed sizing (25 pixels) */
513
612
        gtk_tree_view_column_set_sizing(GTK_TREE_VIEW_COLUMN(column),
514
613
                                        GTK_TREE_VIEW_COLUMN_FIXED);
515
 
        gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN
 
614
        gtk_tree_view_column_set_min_width(GTK_TREE_VIEW_COLUMN
516
615
                                             (column), 25);
517
616
        gtk_tree_view_append_column(treeview, column);
518
617
 
539
638
                                        /* fixed sizing (25 pixels) */
540
639
        gtk_tree_view_column_set_sizing(GTK_TREE_VIEW_COLUMN(column),
541
640
                                        GTK_TREE_VIEW_COLUMN_FIXED);
542
 
        gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN
543
 
                                             (column), 25);
 
641
        gtk_tree_view_column_set_min_width(GTK_TREE_VIEW_COLUMN
 
642
                                             (column), 27);
544
643
        gtk_tree_view_append_column(treeview, column);
545
644
 
546
645
        /* -- locked -- */
557
656
                                        /* fixed sizing (25 pixels) */
558
657
        gtk_tree_view_column_set_sizing(GTK_TREE_VIEW_COLUMN(column),
559
658
                                        GTK_TREE_VIEW_COLUMN_FIXED);
560
 
        gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN
 
659
        gtk_tree_view_column_set_min_width(GTK_TREE_VIEW_COLUMN
561
660
                                             (column), 25);
562
661
        gtk_tree_view_append_column(treeview, column);
563
662
 
572
671
                                        /* fixed sizing (2 pixels) */
573
672
        gtk_tree_view_column_set_sizing(GTK_TREE_VIEW_COLUMN(column),
574
673
                                        GTK_TREE_VIEW_COLUMN_FIXED);
575
 
        gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN
 
674
        gtk_tree_view_column_set_min_width(GTK_TREE_VIEW_COLUMN
576
675
                                             (column), 2);
577
676
        gtk_tree_view_append_column(treeview, column);
578
677
 
581
680
 
582
681
        /* -- refresh/update -- */
583
682
        column = gtk_tree_view_column_new();
584
 
        image = gtk_image_new_from_stock(GTK_STOCK_REFRESH,
585
 
                                         GTK_ICON_SIZE_MENU);
 
683
        image =   
 
684
#ifdef HAVE_GTK_310
 
685
                gtk_image_new_from_icon_name 
 
686
                                ("view-refresh", GTK_ICON_SIZE_MENU);
 
687
#else
 
688
                gtk_image_new_from_stock
 
689
                                (GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU);
 
690
#endif  
586
691
        gtk_widget_show(image);
587
692
        gtk_widget_set_tooltip_text(image, _("The refresh icon means the Installed module is older than the newer Available module: You should update the module"));
588
693
        renderer = GTK_CELL_RENDERER(gtk_cell_renderer_pixbuf_new());
725
830
        gtk_progress_bar_set_text(GTK_PROGRESS_BAR(progressbar_refresh),
726
831
                                  gettext (verbs[activity][PHRASE_PREPARE]));
727
832
        gtk_widget_show(progressbar_refresh);
728
 
        gtk_widget_queue_draw(dialog);
 
833
        gtk_widget_queue_draw(dialog_modmgr);
729
834
        gtk_widget_hide(button_close);
730
835
        gtk_widget_hide(button_refresh);
731
836
        gtk_widget_hide(button_install);
752
857
                        gchar *dir;
753
858
                        gchar *zipfile;
754
859
                        char *datapath, *conf_file;
 
860
                        int dlen;
755
861
 
756
862
                        GS_print(("archive %s in %s\n", buf,
757
863
                                  (destination
770
876
 
771
877
                        zipfile = g_strdup_printf("%s/%s.zip", dir, buf);
772
878
                        datapath = main_get_mod_config_entry(buf, "DataPath");
 
879
 
 
880
                        // for modules whose DataPath ends in .../xyz/abc
 
881
                        // where abc is the file prefix (abc.dat, abc.idx, &c)
 
882
                        // we have to detect this and eliminate the end.
773
883
                        if (g_access(datapath, F_OK) == -1)
774
884
                            *(strrchr(datapath, '/')) = '\0';
775
885
 
 
886
                        // lastly, if the end char is '/', remove it or
 
887
                        // it becomes a problem when analyzing path length.
 
888
                        dlen = strlen(datapath);
 
889
                        if (datapath[dlen-1] == '/')
 
890
                            datapath[dlen-1] = '\0';
 
891
                        
776
892
                        conf_file = main_get_mod_config_file
777
893
                                            (buf, (destination
778
894
                                                   ? destination
1024
1140
        GdkPixbuf *fasticon;
1025
1141
        GdkPixbuf *locked;
1026
1142
        GdkPixbuf *refresh;
1027
 
        gchar *description = NULL;
 
1143
        const gchar *description = NULL;
1028
1144
//      GtkTooltip *tooltip;
1029
1145
 
1030
1146
        /* Check language */
1974
2090
void
1975
2091
on_notebook1_switch_page(GtkNotebook * notebook,
1976
2092
                         gpointer arg,
1977
 
             guint page_num, gpointer user_data)
 
2093
                         guint page_num,
 
2094
                         gpointer user_data)
1978
2095
#else
1979
2096
void
1980
2097
on_notebook1_switch_page(GtkNotebook * notebook,
1981
2098
                         GtkNotebookPage * page,
1982
 
                         guint page_num, gpointer user_data)
 
2099
                         guint page_num,
 
2100
                         gpointer user_data)
1983
2101
#endif
1984
2102
{
1985
2103
        gchar *str;
2166
2284
                                   COLUMN_UID, &uid,
2167
2285
                                   -1);
2168
2286
 
2169
 
                mod_mgr_add_source("FTPSource",
 
2287
                if(strcasecmp(type,"HTTP") == 0)
 
2288
                        mod_mgr_add_source("HTTPSource",
 
2289
                                   type, caption, source, directory,
 
2290
                                   user, pass, uid);
 
2291
                else if(strcasecmp(type,"HTTPS") == 0)
 
2292
                        mod_mgr_add_source("HTTPSSource",
 
2293
                                   type, caption, source, directory,
 
2294
                                   user, pass, uid);
 
2295
                else if(strcasecmp(type,"SFTP") == 0)
 
2296
                        mod_mgr_add_source("SFTPSource",
 
2297
                                   type, caption, source, directory,
 
2298
                                   user, pass, uid);
 
2299
                else
 
2300
                        mod_mgr_add_source("FTPSource",
2170
2301
                                   type, caption, source, directory,
2171
2302
                                   user, pass, uid);
2172
2303
                g_free(type);
2238
2369
                gtk_file_chooser_dialog_new ("Open File",
2239
2370
                                      NULL,
2240
2371
                                      GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
 
2372
#ifdef HAVE_GTK_310
 
2373
                                       "_Cancel", GTK_RESPONSE_CANCEL,
 
2374
                                       "_OK", GTK_RESPONSE_ACCEPT,
 
2375
#else                        
2241
2376
                                      GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
2242
 
                                      GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
 
2377
                                      GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, 
 
2378
#endif                                        
2243
2379
                                      NULL);
 
2380
        
2244
2381
        if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) {
2245
2382
                filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
2246
2383
                GS_message(("%s",filename));
2312
2449
 
2313
2450
        working = FALSE;
2314
2451
        is_running = FALSE;
 
2452
        settings.display_prefs = 0;
 
2453
        xml_set_value("Xiphos", "layout", "prefsopen", "0");
 
2454
 
2315
2455
        if (first_time_user) {
2316
2456
                /* no deeper analysis, first time around. */
2317
2457
                gtk_main_quit();
2326
2466
                        main_display_bible((char *)tmp->data, settings.currentverse);
2327
2467
                else {
2328
2468
                        /* Zero Bibles is just not workable in Xiphos. */
2329
 
                        gui_generic_warning(_("You have uninstalled your last Bible.\n"
2330
 
                                              "Xiphos requires at least one."));
 
2469
                        gui_generic_warning_modal
 
2470
                            (_("You have uninstalled your last Bible.\n"
 
2471
                               "Xiphos requires at least one."));
2331
2472
                        main_shutdown_list();
2332
2473
                        gui_open_mod_mgr_initial_run();
2333
2474
                        main_init_lists();
2334
2475
                        if (settings.havebible == 0) {
2335
 
                                gui_generic_warning(_("There are still no Bibles installed.\n"
2336
 
                                                      "Xiphos cannot continue without one."));
 
2476
                                gui_generic_warning_modal
 
2477
                                    (_("There are still no Bibles installed.\n"
 
2478
                                       "Xiphos cannot continue without one."));
2337
2479
                                exit(1);
2338
2480
                        }
2339
2481
                }
2350
2492
                if ((tmp = get_list(GBS_LIST)))
2351
2493
                        main_display_book((char *)tmp->data, "/");      /* blank key */
2352
2494
        }
 
2495
 
 
2496
        settings.display_modmgr = 0;
 
2497
        xml_set_value("Xiphos", "layout", "modmgropen", "0");
2353
2498
}
2354
2499
 
2355
2500
 
2372
2517
static void
2373
2518
response_close(void)
2374
2519
{
2375
 
        gtk_widget_destroy(GTK_WIDGET(dialog));
 
2520
        gtk_widget_destroy(GTK_WIDGET(dialog_modmgr));
2376
2521
        on_dialog_destroy(NULL, NULL);
2377
2522
}
2378
2523
 
2599
2744
                              _("Remove the selected source"),
2600
2745
                              caption, type, source, directory);
2601
2746
 
2602
 
        if (gui_yes_no_dialog(str, GTK_STOCK_DIALOG_WARNING)) {
 
2747
        if (gui_yes_no_dialog(str, 
 
2748
#ifdef HAVE_GTK_310 
 
2749
                    "dialog-warning"          
 
2750
#else
 
2751
                    GTK_STOCK_DIALOG_WARNING
 
2752
#endif  
 
2753
                    )) {
 
2754
                
2603
2755
                gtk_list_store_remove(GTK_LIST_STORE(model), &selected);
2604
2756
                save_sources();
2605
2757
        }
2658
2810
                        "<span weight=\"bold\">%s</span>",
2659
2811
                        _("Enter a remote source"));
2660
2812
        dialog = gui_new_dialog();
2661
 
        dialog->stock_icon = GTK_STOCK_DIALOG_INFO;
 
2813
        dialog->stock_icon = 
 
2814
#ifdef HAVE_GTK_310
 
2815
                "dialog-information";
 
2816
#else
 
2817
                GTK_STOCK_DIALOG_INFO;
 
2818
#endif  
2662
2819
        dialog->label_top = str->str;
2663
2820
        dialog->label1 = _("Caption:");
2664
2821
        dialog->label2 = _("Type:");
2692
2849
                mms = (MOD_MGR_SOURCE *) tmp->data;
2693
2850
                if (!strcmp(mms->caption, dialog->text1)) {
2694
2851
                        /* this can happen at most once */
2695
 
                        gui_generic_warning(_("A source by that name already exists."));
 
2852
                        gui_generic_warning_modal(_("A source by that name already exists."));
2696
2853
                        name_conflict = TRUE;
2697
2854
                }
2698
2855
                g_free((gchar*)mms->type);
2838
2995
        //name_string = caption;
2839
2996
 
2840
2997
        yes_no_dialog = gui_new_dialog();
2841
 
        yes_no_dialog->stock_icon = GTK_STOCK_DIALOG_WARNING;
 
2998
        yes_no_dialog->stock_icon =   
 
2999
#ifdef HAVE_GTK_310
 
3000
                "dialog-warning";
 
3001
#else
 
3002
                GTK_STOCK_DIALOG_WARNING;
 
3003
#endif  
2842
3004
        yes_no_dialog->title = _("Delete a remote source");
2843
3005
        g_string_printf(str,
2844
3006
                        "<span weight=\"bold\">%s</span>\n\n%s|%s|%s|%s",
3135
3297
        g_free (glade_file);
3136
3298
        g_return_val_if_fail ((gxml != NULL), NULL);
3137
3299
 
3138
 
        dialog = UI_GET_ITEM(gxml, "dialog");
 
3300
        dialog_modmgr = UI_GET_ITEM(gxml, "dialog");
 
3301
        gtk_window_resize(GTK_WINDOW(dialog_modmgr),
 
3302
                          settings.modmgr_width,
 
3303
                          settings.modmgr_height);
3139
3304
 
3140
3305
        /* response buttons */
3141
3306
        button_close = UI_GET_ITEM(gxml, "button_close");
3151
3316
 
3152
3317
        gtk_widget_set_can_default (button_close, 1);
3153
3318
 
3154
 
        g_signal_connect(dialog, "destroy",
 
3319
        g_signal_connect(dialog_modmgr, "destroy",
3155
3320
                         G_CALLBACK(on_dialog_destroy), NULL);
3156
3321
        if (first_run)
3157
 
                setup_dialog_action_area(GTK_DIALOG (dialog));
 
3322
                setup_dialog_action_area(GTK_DIALOG (dialog_modmgr));
3158
3323
        else
3159
 
                g_signal_connect(dialog, "response",
 
3324
                g_signal_connect(dialog_modmgr, "response",
3160
3325
                                 G_CALLBACK(on_mod_mgr_response), NULL);
3161
3326
 
3162
3327
        /* progress bars */
3241
3406
 
3242
3407
        gtk_widget_hide(button_refresh);
3243
3408
 
3244
 
        return dialog;
 
3409
        g_signal_connect((gpointer) dialog_modmgr, 
 
3410
                         "configure_event",
 
3411
                         G_CALLBACK(on_modmgr_configure_event), NULL);
 
3412
 
 
3413
        settings.display_modmgr = 1;
 
3414
        xml_set_value("Xiphos", "layout", "modmgropen", "1");
 
3415
 
 
3416
        /*
 
3417
         * (from xiphos.c)
 
3418
         * a little paranoia:
 
3419
         * clamp geometry values to a reasonable bound.
 
3420
         * sometimes xiphos gets insane reconfig events as it dies,
 
3421
         * especially if it's due to just shutting linux down.
 
3422
         */
 
3423
        if ((settings.modmgr_x < 0) || (settings.modmgr_x > 2000))
 
3424
                settings.modmgr_x = 40;
 
3425
        if ((settings.modmgr_y < 0) || (settings.modmgr_y > 2000))
 
3426
                settings.modmgr_y = 40;
 
3427
 
 
3428
        gtk_window_move(GTK_WINDOW(dialog_modmgr),settings.modmgr_x,settings.modmgr_y);
 
3429
        return dialog_modmgr;
3245
3430
}
3246
3431
 
3247
3432
 
3269
3454
                set_window_icon(GTK_WINDOW(dlg));
3270
3455
                is_running = TRUE;
3271
3456
        } else
3272
 
                gdk_window_raise(gtk_widget_get_window (GTK_WIDGET(dialog)));
 
3457
                gdk_window_raise(gtk_widget_get_window (GTK_WIDGET(dialog_modmgr)));
3273
3458
}
3274
3459
 
3275
3460