Compare commits
No commits in common. "222ba6a0601e37dc9116109316f8d31b0721c351" and "6de5ab62984f50657ae679dc1174fe5c195710f0" have entirely different histories.
222ba6a060
...
6de5ab6298
2
fiv-io.c
2
fiv-io.c
@ -768,8 +768,6 @@ open_wuffs(wuffs_base__image_decoder *dec, wuffs_base__io_buffer src,
|
|||||||
.dec = dec, .src = &src, .target = profile};
|
.dec = dec, .src = &src, .target = profile};
|
||||||
|
|
||||||
// TODO(p): PNG text chunks (Wuffs #58).
|
// TODO(p): PNG text chunks (Wuffs #58).
|
||||||
// TODO(p): See if something could and should be done about
|
|
||||||
// https://www.w3.org/TR/png-hdr-pq/
|
|
||||||
wuffs_base__image_decoder__set_report_metadata(
|
wuffs_base__image_decoder__set_report_metadata(
|
||||||
ctx.dec, WUFFS_BASE__FOURCC__EXIF, true);
|
ctx.dec, WUFFS_BASE__FOURCC__EXIF, true);
|
||||||
wuffs_base__image_decoder__set_report_metadata(
|
wuffs_base__image_decoder__set_report_metadata(
|
||||||
|
65
fiv.c
65
fiv.c
@ -525,7 +525,6 @@ struct {
|
|||||||
gint files_index; ///< Where "uri" is within "files"
|
gint files_index; ///< Where "uri" is within "files"
|
||||||
|
|
||||||
GtkWidget *window;
|
GtkWidget *window;
|
||||||
GtkWidget *menu;
|
|
||||||
GtkWidget *stack;
|
GtkWidget *stack;
|
||||||
|
|
||||||
GtkWidget *browser_paned;
|
GtkWidget *browser_paned;
|
||||||
@ -1103,26 +1102,6 @@ on_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gchar *accelerator = NULL;
|
|
||||||
g_object_get(gtk_widget_get_settings(g.window), "gtk-menu-bar-accel",
|
|
||||||
&accelerator, NULL);
|
|
||||||
if (!accelerator)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
guint key = 0;
|
|
||||||
GdkModifierType mods = 0;
|
|
||||||
gtk_accelerator_parse(accelerator, &key, &mods);
|
|
||||||
g_free(accelerator);
|
|
||||||
|
|
||||||
guint mask = gtk_accelerator_get_default_mod_mask();
|
|
||||||
if (key && event->keyval == key && (event->state & mask) == mods) {
|
|
||||||
gtk_widget_show(g.menu);
|
|
||||||
|
|
||||||
// _gtk_menu_shell_set_keyboard_mode() is private.
|
|
||||||
// We've added a viewable menu bar, so calling this again will work.
|
|
||||||
return gtk_window_activate_key(GTK_WINDOW(g.window), event);
|
|
||||||
}
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1587,44 +1566,6 @@ make_browser_sidebar(FivIoModel *model)
|
|||||||
return sidebar;
|
return sidebar;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GtkWidget *
|
|
||||||
make_menu_bar(void)
|
|
||||||
{
|
|
||||||
g.menu = gtk_menu_bar_new();
|
|
||||||
|
|
||||||
GtkWidget *item_quit = gtk_menu_item_new_with_mnemonic("_Quit");
|
|
||||||
g_signal_connect_swapped(item_quit, "activate",
|
|
||||||
G_CALLBACK(gtk_widget_destroy), g.window);
|
|
||||||
|
|
||||||
GtkWidget *menu_file = gtk_menu_new();
|
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), item_quit);
|
|
||||||
GtkWidget *item_file = gtk_menu_item_new_with_mnemonic("_File");
|
|
||||||
gtk_menu_item_set_submenu(GTK_MENU_ITEM(item_file), menu_file);
|
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(g.menu), item_file);
|
|
||||||
|
|
||||||
GtkWidget *item_shortcuts =
|
|
||||||
gtk_menu_item_new_with_mnemonic("_Keyboard Shortcuts");
|
|
||||||
g_signal_connect_swapped(item_shortcuts, "activate",
|
|
||||||
G_CALLBACK(show_help_shortcuts), NULL);
|
|
||||||
GtkWidget *item_about = gtk_menu_item_new_with_mnemonic("_About");
|
|
||||||
g_signal_connect_swapped(item_about, "activate",
|
|
||||||
G_CALLBACK(show_about_dialog), g.window);
|
|
||||||
|
|
||||||
GtkWidget *menu_help = gtk_menu_new();
|
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu_help), item_shortcuts);
|
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(menu_help), item_about);
|
|
||||||
GtkWidget *item_help = gtk_menu_item_new_with_mnemonic("_Help");
|
|
||||||
gtk_menu_item_set_submenu(GTK_MENU_ITEM(item_help), menu_help);
|
|
||||||
gtk_menu_shell_append(GTK_MENU_SHELL(g.menu), item_help);
|
|
||||||
|
|
||||||
// Don't let it take up space by default. Firefox sets a precedent here.
|
|
||||||
gtk_widget_show_all(g.menu);
|
|
||||||
gtk_widget_set_no_show_all(g.menu, TRUE);
|
|
||||||
gtk_widget_hide(g.menu);
|
|
||||||
g_signal_connect(g.menu, "deactivate", G_CALLBACK(gtk_widget_hide), NULL);
|
|
||||||
return g.menu;
|
|
||||||
}
|
|
||||||
|
|
||||||
// This is incredibly broken https://stackoverflow.com/a/51054396/76313
|
// This is incredibly broken https://stackoverflow.com/a/51054396/76313
|
||||||
// thus resolving the problem using overlaps.
|
// thus resolving the problem using overlaps.
|
||||||
// We're trying to be universal for light and dark themes both. It's hard.
|
// We're trying to be universal for light and dark themes both. It's hard.
|
||||||
@ -1819,11 +1760,7 @@ main(int argc, char *argv[])
|
|||||||
G_CALLBACK(on_key_press), NULL);
|
G_CALLBACK(on_key_press), NULL);
|
||||||
g_signal_connect(g.window, "window-state-event",
|
g_signal_connect(g.window, "window-state-event",
|
||||||
G_CALLBACK(on_window_state_event), NULL);
|
G_CALLBACK(on_window_state_event), NULL);
|
||||||
|
gtk_container_add(GTK_CONTAINER(g.window), g.stack);
|
||||||
GtkWidget *menu_box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
|
|
||||||
gtk_container_add(GTK_CONTAINER(menu_box), make_menu_bar());
|
|
||||||
gtk_container_add(GTK_CONTAINER(menu_box), g.stack);
|
|
||||||
gtk_container_add(GTK_CONTAINER(g.window), menu_box);
|
|
||||||
|
|
||||||
// Try to get half of the screen vertically, in 4:3 aspect ratio.
|
// Try to get half of the screen vertically, in 4:3 aspect ratio.
|
||||||
//
|
//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user