220
/******************************************************************************
222
* on_modmgr_configure_event
225
* #include "gui/main_window.h"
227
* gboolean on_modmgr_configure_event(GtkWidget * widget,
228
* GdkEventConfigure * event,
229
* gpointer user_data)
232
* remember placement+size of modmgr window.
233
* cloned from on_configure_event
239
static gboolean on_modmgr_configure_event(GtkWidget * widget,
240
GdkEventConfigure * event,
247
gdk_window_get_root_origin(
248
GDK_WINDOW(gtk_widget_get_window (dialog_modmgr)), &x, &y);
250
settings.modmgr_width = event->width;
251
settings.modmgr_height = event->height;
252
settings.modmgr_x = x;
253
settings.modmgr_y = y;
255
sprintf(layout, "%d", settings.modmgr_width);
256
xml_set_value("Xiphos", "layout", "modmgr_width", layout);
258
sprintf(layout, "%d", settings.modmgr_height);
259
xml_set_value("Xiphos", "layout", "modmgr_height", layout);
261
sprintf(layout, "%d", settings.modmgr_x);
262
xml_set_value("Xiphos", "layout", "modmgr_x", layout);
264
sprintf(layout, "%d", settings.modmgr_y);
265
xml_set_value("Xiphos", "layout", "modmgr_y", layout);
266
xml_save_settings_doc(settings.fnconfigure);
221
272
gboolean query_tooltip (GtkWidget *widget,
316
367
create_pixbufs(void)
320
INSTALLED = gtk_widget_render_icon_pixbuf(dialog,
372
GtkIconTheme *icon_theme =
373
gtk_icon_theme_get_default ();
375
INSTALLED = gtk_icon_theme_load_icon (icon_theme,
378
GTK_ICON_LOOKUP_FORCE_SIZE,
381
FASTICON = pixbuf_finder("indexed-16.png", 0, NULL);
383
NO_INDEX = gtk_icon_theme_load_icon (icon_theme,
386
GTK_ICON_LOOKUP_FORCE_SIZE,
389
LOCKED = pixbuf_finder("epiphany-secure.png", 0, NULL);
391
REFRESH = gtk_icon_theme_load_icon (icon_theme,
394
GTK_ICON_LOOKUP_FORCE_SIZE,
397
BLANK = gtk_icon_theme_load_icon (icon_theme,
398
"gnome-stock-blank", // FIXME:
400
GTK_ICON_LOOKUP_FORCE_SIZE,
403
INSTALLED = gtk_widget_render_icon_pixbuf(dialog_modmgr,
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);
335
INSTALLED = gtk_widget_render_icon(dialog,
419
INSTALLED = gtk_widget_render_icon(dialog_modmgr,
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);
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
467
551
gtk_tree_view_append_column(treeview, column);
469
553
/* -- installed -- */
470
554
column = gtk_tree_view_column_new();
557
? gtk_image_new_from_icon_name("gnome-stock-blank", // FIXME:
559
: gtk_image_new_from_icon_name("_Apply",
560
GTK_ICON_SIZE_MENU));
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));
476
567
gtk_widget_show(image);
477
568
gtk_widget_set_tooltip_text(image,
491
582
g_signal_connect(renderer, "toggled",
492
583
G_CALLBACK(fixed_toggled), treeview);
494
column = gtk_tree_view_column_new();
495
image = gtk_image_new_from_stock((remove
585
column = gtk_tree_view_column_new();
588
gtk_image_new_from_icon_name ((remove
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);
499
598
gtk_widget_show(image);
500
599
gtk_widget_set_tooltip_text(image,
582
681
/* -- refresh/update -- */
583
682
column = gtk_tree_view_column_new();
584
image = gtk_image_new_from_stock(GTK_STOCK_REFRESH,
685
gtk_image_new_from_icon_name
686
("view-refresh", GTK_ICON_SIZE_MENU);
688
gtk_image_new_from_stock
689
(GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU);
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);
771
877
zipfile = g_strdup_printf("%s/%s.zip", dir, buf);
772
878
datapath = main_get_mod_config_entry(buf, "DataPath");
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';
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';
776
892
conf_file = main_get_mod_config_file
777
893
(buf, (destination
2166
2284
COLUMN_UID, &uid,
2169
mod_mgr_add_source("FTPSource",
2287
if(strcasecmp(type,"HTTP") == 0)
2288
mod_mgr_add_source("HTTPSource",
2289
type, caption, source, directory,
2291
else if(strcasecmp(type,"HTTPS") == 0)
2292
mod_mgr_add_source("HTTPSSource",
2293
type, caption, source, directory,
2295
else if(strcasecmp(type,"SFTP") == 0)
2296
mod_mgr_add_source("SFTPSource",
2297
type, caption, source, directory,
2300
mod_mgr_add_source("FTPSource",
2170
2301
type, caption, source, directory,
2171
2302
user, pass, uid);
2238
2369
gtk_file_chooser_dialog_new ("Open File",
2240
2371
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
2373
"_Cancel", GTK_RESPONSE_CANCEL,
2374
"_OK", GTK_RESPONSE_ACCEPT,
2241
2376
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
2242
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
2377
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
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));
2326
2466
main_display_bible((char *)tmp->data, settings.currentverse);
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."));
2599
2744
_("Remove the selected source"),
2600
2745
caption, type, source, directory);
2602
if (gui_yes_no_dialog(str, GTK_STOCK_DIALOG_WARNING)) {
2747
if (gui_yes_no_dialog(str,
2751
GTK_STOCK_DIALOG_WARNING
2603
2755
gtk_list_store_remove(GTK_LIST_STORE(model), &selected);
2604
2756
save_sources();
3152
3317
gtk_widget_set_can_default (button_close, 1);
3154
g_signal_connect(dialog, "destroy",
3319
g_signal_connect(dialog_modmgr, "destroy",
3155
3320
G_CALLBACK(on_dialog_destroy), NULL);
3157
setup_dialog_action_area(GTK_DIALOG (dialog));
3322
setup_dialog_action_area(GTK_DIALOG (dialog_modmgr));
3159
g_signal_connect(dialog, "response",
3324
g_signal_connect(dialog_modmgr, "response",
3160
3325
G_CALLBACK(on_mod_mgr_response), NULL);
3162
3327
/* progress bars */
3242
3407
gtk_widget_hide(button_refresh);
3409
g_signal_connect((gpointer) dialog_modmgr,
3411
G_CALLBACK(on_modmgr_configure_event), NULL);
3413
settings.display_modmgr = 1;
3414
xml_set_value("Xiphos", "layout", "modmgropen", "1");
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.
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;
3428
gtk_window_move(GTK_WINDOW(dialog_modmgr),settings.modmgr_x,settings.modmgr_y);
3429
return dialog_modmgr;