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
|
||||
//
|
||||
// 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
|
||||
// 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))
|
||||
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();
|
||||
if ((event->button == GDK_BUTTON_PRIMARY && state == 0))
|
||||
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))
|
||||
return open_entry(widget, entry, TRUE);
|
||||
return GDK_EVENT_PROPAGATE;
|
||||
|
||||
@@ -382,6 +382,9 @@ on_monitor_changed(G_GNUC_UNUSED GFileMonitor *monitor, GFile *file,
|
||||
switch (event_type) {
|
||||
case G_FILE_MONITOR_EVENT_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;
|
||||
new_entry_file = file;
|
||||
break;
|
||||
@@ -400,8 +403,6 @@ on_monitor_changed(G_GNUC_UNUSED GFileMonitor *monitor, GFile *file,
|
||||
new_entry_file = file;
|
||||
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_UNMOUNTED:
|
||||
// TODO(p): Figure out how to handle _UNMOUNTED sensibly.
|
||||
|
||||
@@ -537,6 +537,13 @@ on_show_enter_location(
|
||||
g_signal_connect(entry, "changed",
|
||||
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.
|
||||
GtkWidget *protocols = gtk_label_new("");
|
||||
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