talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 2157343a9aad5a7d071dd1d8dc60c5ec02b1e05e
parent d5a9be90a75f0b45e6a3ca9a01ddce81eb69df2f
Author: Oliver Lowe <o@olowe.co>
Date:   Fri, 29 Aug 2025 13:43:08 +1000

Use normal cursor for MIME part buttons

And delete essentially hiddend tooltips

Diffstat:
Msrc/main.c | 7+++----
Msrc/mimeview.c | 46----------------------------------------------
Msrc/summaryview.c | 94++++++++++---------------------------------------------------------------------
3 files changed, 14 insertions(+), 133 deletions(-)

diff --git a/src/main.c b/src/main.c @@ -384,7 +384,6 @@ int main(int argc, char *argv[]) guint num_folder_class = 0; gboolean start_done = TRUE; gboolean never_ran = FALSE; - gboolean mainwin_shown = FALSE; gint ret; sc_starting = TRUE; @@ -1296,15 +1295,15 @@ gboolean claws_is_starting(void) gchar *claws_get_socket_name(void) { char *dir = g_strdup_printf("%s/claws-mail", g_get_user_runtime_dir()); - stat sb; - int ok = g_stat(socket_dir, &sb); + struct stat sb; + int ok = stat(dir, &sb); if (ok < 0 && errno != ENOENT) { g_print("stat %s: %s\n", dir, g_strerror(errno)); } if (!is_dir_exist(dir) && make_dir(dir) < 0) { g_print("create %s: %s\n", dir, g_strerror(errno)); } - char *filename = g_strdup_printf("%s/control.sock", dir) + char *filename = g_strdup_printf("%s/control.sock", dir); g_free(dir); debug_print("Using control socket %s\n", filename); diff --git a/src/mimeview.c b/src/mimeview.c @@ -231,32 +231,6 @@ static GtkTargetEntry mimeview_mime_types[] = GSList *mimeviewer_factories; GSList *mimeviews; -static GdkCursor *hand_cursor = NULL; - -static gboolean mimeview_visi_notify(GtkWidget *widget, - GdkEventVisibility *event, - MimeView *mimeview) -{ - gdk_window_set_cursor(gtk_widget_get_window(widget), hand_cursor); - return FALSE; -} - -static gboolean mimeview_leave_notify(GtkWidget *widget, - GdkEventCrossing *event, - MimeView *mimeview) -{ - gdk_window_set_cursor(gtk_widget_get_window(widget), NULL); - return FALSE; -} - -static gboolean mimeview_enter_notify(GtkWidget *widget, - GdkEventCrossing *event, - MimeView *mimeview) -{ - gdk_window_set_cursor(gtk_widget_get_window(widget), hand_cursor); - return FALSE; -} - MimeView *mimeview_create(MainWindow *mainwin) { MimeView *mimeview; @@ -284,10 +258,6 @@ MimeView *mimeview_create(MainWindow *mainwin) gchar *titles[N_MIMEVIEW_COLS]; gint cols; - if (!hand_cursor) - hand_cursor = gdk_cursor_new_for_display( - gtk_widget_get_display(mainwin->window), GDK_HAND2); - debug_print("Creating MIME view...\n"); mimeview = g_new0(MimeView, 1); @@ -373,13 +343,6 @@ MimeView *mimeview_create(MainWindow *mainwin) mime_toggle = gtk_event_box_new(); gtk_event_box_set_visible_window(GTK_EVENT_BOX(mime_toggle), FALSE); - g_signal_connect(G_OBJECT(mime_toggle), "motion-notify-event", - G_CALLBACK(mimeview_visi_notify), mimeview); - g_signal_connect(G_OBJECT(mime_toggle), "leave-notify-event", - G_CALLBACK(mimeview_leave_notify), mimeview); - g_signal_connect(G_OBJECT(mime_toggle), "enter-notify-event", - G_CALLBACK(mimeview_enter_notify), mimeview); - gtk_container_set_border_width(GTK_CONTAINER(mime_toggle), 2); gtk_widget_show(mime_toggle); mimeview->ctree_mode = FALSE; @@ -2347,13 +2310,6 @@ static void icon_list_append_icon (MimeView *mimeview, MimeInfo *mimeinfo) mimeview->icon_count++; button = gtk_event_box_new(); - g_signal_connect(G_OBJECT(button), "motion-notify-event", - G_CALLBACK(mimeview_visi_notify), mimeview); - g_signal_connect(G_OBJECT(button), "leave-notify-event", - G_CALLBACK(mimeview_leave_notify), mimeview); - g_signal_connect(G_OBJECT(button), "enter-notify-event", - G_CALLBACK(mimeview_enter_notify), mimeview); - gtk_container_set_border_width(GTK_CONTAINER(button), 2); g_object_set_data(G_OBJECT(button), "icon_number", GINT_TO_POINTER(mimeview->icon_count)); @@ -2604,8 +2560,6 @@ static gint mime_toggle_button_cb(GtkWidget *button, GdkEventButton *event, { g_object_ref(button); - mimeview_leave_notify(button, NULL, NULL); - mimeview->ctree_mode = !mimeview->ctree_mode; if (mimeview->ctree_mode) { gtk_image_set_from_icon_name(GTK_IMAGE(mimeview->arrow), diff --git a/src/summaryview.c b/src/summaryview.c @@ -474,19 +474,6 @@ GtkWidget *summary_get_main_widget(SummaryView *summaryview) summary_update_msg, (gpointer) summaryview); \ } -static void popup_menu_selection_done(GtkMenuShell *shell, gpointer user_data) -{ - SummaryView *summaryview = (SummaryView *)user_data; - - cm_return_if_fail(summaryview != NULL); - - /* If a message is displayed, place cursor back on the message. */ - if (summaryview->displayed != NULL && - summaryview->displayed != summaryview->selected) { - gtk_sctree_select(GTK_SCTREE(summaryview->ctree), summaryview->displayed); - } -} - SummaryView *summary_create(MainWindow *mainwin) { SummaryView *summaryview; @@ -1289,24 +1276,20 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid g_slist_free(mlist); mlist = not_killed; } else { - summary_set_hide_menu(summaryview, "/Menu/View/HideReadMessages", - FALSE); - summary_set_hide_menu(summaryview, "/Menu/View/HideDelMessages", - FALSE); - summary_set_hide_menu(summaryview, "/Menu/View/HideReadThreads", - FALSE); + summary_set_hide_menu(summaryview, "/Menu/View/HideReadMessages", FALSE); + summary_set_hide_menu(summaryview, "/Menu/View/HideDelMessages", FALSE); + summary_set_hide_menu(summaryview, "/Menu/View/HideReadThreads", FALSE); } if (!hidden_removed) { - not_killed = NULL; - for(cur = mlist ; cur != NULL && cur->data != NULL ; cur = g_slist_next(cur)) { - MsgInfo * msginfo = (MsgInfo *) cur->data; - - if (!msginfo->hidden) - not_killed = g_slist_prepend(not_killed, msginfo); - else - procmsg_msginfo_free(&msginfo); - } + not_killed = NULL; + for (cur = mlist ; cur != NULL && cur->data != NULL ; cur = g_slist_next(cur)) { + MsgInfo * msginfo = (MsgInfo *) cur->data; + if (!msginfo->hidden) + not_killed = g_slist_prepend(not_killed, msginfo); + else + procmsg_msginfo_free(&msginfo); + } g_slist_free(mlist); mlist = not_killed; } @@ -2432,11 +2415,9 @@ static void summary_status_show(SummaryView *summaryview) gchar *itstr; GList *rowlist, *cur; guint n_selected = 0, n_new = 0, n_unread = 0, n_total = 0; - guint n_marked = 0, n_replied = 0, n_forwarded = 0, n_locked = 0, n_ignored = 0, n_watched = 0; goffset sel_size = 0, n_size = 0; MsgInfo *msginfo; gchar *name; - gchar *tooltip; if (!summaryview->folder_item) { gtk_label_set_text(GTK_LABEL(summaryview->statlabel_folder), ""); @@ -2476,31 +2457,11 @@ static void summary_status_show(SummaryView *summaryview) n_new++; if (MSG_IS_UNREAD(msginfo->flags)) n_unread++; - if (MSG_IS_MARKED(msginfo->flags)) - n_marked++; - if (MSG_IS_REPLIED(msginfo->flags)) - n_replied++; - if (MSG_IS_FORWARDED(msginfo->flags)) - n_forwarded++; - if (MSG_IS_LOCKED(msginfo->flags)) - n_locked++; - if (MSG_IS_IGNORE_THREAD(msginfo->flags)) - n_ignored++; - if (MSG_IS_WATCH_THREAD(msginfo->flags)) - n_watched++; } } } else { n_new = summaryview->folder_item->new_msgs; n_unread = summaryview->folder_item->unread_msgs; - n_marked = summaryview->folder_item->marked_msgs; - n_replied = summaryview->folder_item->replied_msgs; - n_forwarded = summaryview->folder_item->forwarded_msgs; - n_locked = summaryview->folder_item->locked_msgs; - n_ignored = summaryview->folder_item->ignored_msgs; - n_watched = summaryview->folder_item->watched_msgs; - n_total = summaryview->folder_item->total_msgs; - n_size = summaryview->total_size; } name = folder_item_get_name(summaryview->folder_item); @@ -2553,38 +2514,8 @@ static void summary_status_show(SummaryView *summaryview) str = g_strdup_printf(_("%d new, %d unread, %d total (%s)"), n_new, n_unread, n_total, to_human_readable((goffset)n_size)); - - g_signal_connect(G_OBJECT(summaryview->popupmenu), "selection-done", - G_CALLBACK(popup_menu_selection_done), summaryview); - gtk_label_set_text(GTK_LABEL(summaryview->statlabel_msgs), str); g_free(str); - tooltip = g_strdup_printf("<b>%s</b>\n" - "<b>%s</b> %d\n" - "<b>%s</b> %d\n" - "<b>%s</b> %d\n" - "<b>%s</b> %s\n\n" - "<b>%s</b> %d\n" - "<b>%s</b> %d\n" - "<b>%s</b> %d\n" - "<b>%s</b> %d\n" - "<b>%s</b> %d\n" - "<b>%s</b> %d", - _("Message summary"), - _("New:"), n_new, - _("Unread:"), n_unread, - _("Total:"), n_total, - _("Size:"), to_human_readable((goffset)n_size), - _("Marked:"), n_marked, - _("Replied:"), n_replied, - _("Forwarded:"), n_forwarded, - _("Locked:"), n_locked, - _("Ignored:"), n_ignored, - _("Watched:"), n_watched); - - gtk_widget_set_tooltip_markup(GTK_WIDGET(summaryview->statlabel_msgs), - tooltip); - g_free(tooltip); } else { gchar *ssize, *tsize; if (n_selected) { @@ -5908,7 +5839,6 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event, { GtkCMCTree *ctree = GTK_CMCTREE(widget); GtkCMCTreeNode *node; - MessageView *messageview; GtkAdjustment *adj; gboolean mod_pressed; @@ -5918,8 +5848,6 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event, if (quicksearch_has_focus(summaryview->quicksearch)) return FALSE; - messageview = summaryview->messageview; - mod_pressed = ((event->state & (GDK_SHIFT_MASK|GDK_MOD1_MASK)) != 0);