Compare commits
4 Commits
v1.0.0
...
0fceaf7728
| Author | SHA1 | Date | |
|---|---|---|---|
|
0fceaf7728
|
|||
|
c46fc73c34
|
|||
|
bdd18fc898
|
|||
|
cf6ded1d03
|
@@ -1,7 +1,7 @@
|
|||||||
//
|
//
|
||||||
// fiv-browser.c: filesystem browsing widget
|
// fiv-browser.c: filesystem browsing widget
|
||||||
//
|
//
|
||||||
// Copyright (c) 2021 - 2024, Přemysl Eric Janouch <p@janouch.name>
|
// Copyright (c) 2021 - 2025, Přemysl Eric Janouch <p@janouch.name>
|
||||||
//
|
//
|
||||||
// Permission to use, copy, modify, and/or distribute this software for any
|
// Permission to use, copy, modify, and/or distribute this software for any
|
||||||
// purpose with or without fee is hereby granted.
|
// purpose with or without fee is hereby granted.
|
||||||
@@ -1323,10 +1323,14 @@ fiv_browser_button_release_event(GtkWidget *widget, GdkEventButton *event)
|
|||||||
if (!entry || entry != entry_at(self, event->x, event->y))
|
if (!entry || entry != entry_at(self, event->x, event->y))
|
||||||
return GDK_EVENT_PROPAGATE;
|
return GDK_EVENT_PROPAGATE;
|
||||||
|
|
||||||
|
GdkModifierType primary = gdk_keymap_get_modifier_mask(
|
||||||
|
gdk_keymap_get_for_display(gtk_widget_get_display(widget)),
|
||||||
|
GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR);
|
||||||
|
|
||||||
guint state = event->state & gtk_accelerator_get_default_mod_mask();
|
guint state = event->state & gtk_accelerator_get_default_mod_mask();
|
||||||
if ((event->button == GDK_BUTTON_PRIMARY && state == 0))
|
if ((event->button == GDK_BUTTON_PRIMARY && state == 0))
|
||||||
return open_entry(widget, entry, FALSE);
|
return open_entry(widget, entry, FALSE);
|
||||||
if ((event->button == GDK_BUTTON_PRIMARY && state == GDK_CONTROL_MASK) ||
|
if ((event->button == GDK_BUTTON_PRIMARY && state == primary) ||
|
||||||
(event->button == GDK_BUTTON_MIDDLE && state == 0))
|
(event->button == GDK_BUTTON_MIDDLE && state == 0))
|
||||||
return open_entry(widget, entry, TRUE);
|
return open_entry(widget, entry, TRUE);
|
||||||
return GDK_EVENT_PROPAGATE;
|
return GDK_EVENT_PROPAGATE;
|
||||||
|
|||||||
@@ -382,6 +382,9 @@ on_monitor_changed(G_GNUC_UNUSED GFileMonitor *monitor, GFile *file,
|
|||||||
switch (event_type) {
|
switch (event_type) {
|
||||||
case G_FILE_MONITOR_EVENT_CHANGED:
|
case G_FILE_MONITOR_EVENT_CHANGED:
|
||||||
case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
|
case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
|
||||||
|
// On macOS, we seem to not receive _CHANGED for child files.
|
||||||
|
// And while this seems to arrive too early, it's a mild improvement.
|
||||||
|
case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
|
||||||
event = MONITOR_CHANGING;
|
event = MONITOR_CHANGING;
|
||||||
new_entry_file = file;
|
new_entry_file = file;
|
||||||
break;
|
break;
|
||||||
@@ -400,8 +403,6 @@ on_monitor_changed(G_GNUC_UNUSED GFileMonitor *monitor, GFile *file,
|
|||||||
new_entry_file = file;
|
new_entry_file = file;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
|
|
||||||
// TODO(p): Figure out if we can't make use of _CHANGES_DONE_HINT.
|
|
||||||
case G_FILE_MONITOR_EVENT_PRE_UNMOUNT:
|
case G_FILE_MONITOR_EVENT_PRE_UNMOUNT:
|
||||||
case G_FILE_MONITOR_EVENT_UNMOUNTED:
|
case G_FILE_MONITOR_EVENT_UNMOUNTED:
|
||||||
// TODO(p): Figure out how to handle _UNMOUNTED sensibly.
|
// TODO(p): Figure out how to handle _UNMOUNTED sensibly.
|
||||||
|
|||||||
@@ -537,6 +537,13 @@ on_show_enter_location(
|
|||||||
g_signal_connect(entry, "changed",
|
g_signal_connect(entry, "changed",
|
||||||
G_CALLBACK(on_enter_location_changed), self);
|
G_CALLBACK(on_enter_location_changed), self);
|
||||||
|
|
||||||
|
GFile *location = fiv_io_model_get_location(self->model);
|
||||||
|
if (location) {
|
||||||
|
gchar *parse_name = g_file_get_parse_name(location);
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(entry), parse_name);
|
||||||
|
g_free(parse_name);
|
||||||
|
}
|
||||||
|
|
||||||
// Can't have it ellipsized and word-wrapped at the same time.
|
// Can't have it ellipsized and word-wrapped at the same time.
|
||||||
GtkWidget *protocols = gtk_label_new("");
|
GtkWidget *protocols = gtk_label_new("");
|
||||||
gtk_label_set_ellipsize(GTK_LABEL(protocols), PANGO_ELLIPSIZE_END);
|
gtk_label_set_ellipsize(GTK_LABEL(protocols), PANGO_ELLIPSIZE_END);
|
||||||
|
|||||||
Submodule submodules/wuffs-mirror-release-c updated: c63c4a9348...50869df0ea
Reference in New Issue
Block a user