all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Jan Djärv" <jan.h.d@swipnet.se>
To: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH] Change the look of dialogs created with `x-popup-dialog'
Date: Tue, 13 Dec 2011 08:07:52 +0100	[thread overview]
Message-ID: <890BD378-D3CE-41CE-AEC0-7CEAA1D8CE05@swipnet.se> (raw)
In-Reply-To: <CAHQ1cqH3GccYkpb0KiUwq-q_ywnGXp8qdVx4P=CvaSGUUr7drw@mail.gmail.com>

Hello.

The change looks good in principle, the current dialog when closing Emacs with unsaved changes contains way too many buttons.  How does that look on your new implementation?  Should the radiobuttons be grouped into two columns when the exceed some number, say 4 or 6 for example?

The code has issues however:

You have removed the title, that is no good.  Several window managers show the title in icon bars and other places, so keep the title even if you add an icon.

The use of default bold indicates screaming to me.  It should not be default.  A configure option is OK.
Ditto font size larger.  Not sure if this is a good default.

The use of markup opens up the possibility of having markup in the text for the dialog.  Also, some characters will not display right, as they will be interpretered as masrkup.  You need to escape the text with g_markup_escape in glib.

Radio buttons should not have any callbacks.  When OK is pressed you should check what radiobutton is selected and then call the callback.  Just selecting a radio button should not execute any code if there are OK and Cancel buttons present.  Also the select callback pops down the dialog.  This is not something a radiobutton should do.


+          g_signal_connect (G_OBJECT (ok), "clicked", deactivate_cb, 0);
+          g_signal_connect (G_OBJECT (cancel), "clicked", select_cb, 0);
+          g_signal_connect (G_OBJECT (cancel), "clicked", deactivate_cb, 0);

Why select_cb on the cancel button?  It is not right.  You should make a new function that ok is bound to that extracts the selected radiobutton and calls select_cb.


-  popup_activated_flag = 0;

Do not remove this line.  It is needed.  Why are you removing it?

	Jan D.

11 dec 2011 kl. 16:01 skrev Andrey Smirnov:

> Hello everybody,
> 
> I often close emacs with mouse by pressing 'close' buttons of its
> window and therefore I often encounter questions presented in form of
> dialogs produced by `x-popup-dialog' function. I know it is the matter
> of one's taste, but I think that appearance of aforementioned dialogs
> could be improved by making them look more similar to those created by
> other Gtk and GNOME applications(I used GEdit as a template). The
> patch in attachment is my attempt to implements such changes. To
> summarize it does the following:
> 
>  - Adds, depending on the dialog type, appropriate icon to the dialog,
>    one of GTK_STOCK_DIALOG_INFO or GTK_STOCK_DIALOG_QUESTION.
>  - Removes resize button from the resulting dialog window.
>  - For dialogs with more than two buttons, radio-buttons instead of
>    regular buttons are created.
>  - Makes the question to be rendered in bold font.
> 
> The difference between the results of `x-popup-dialog' can be seen on
> the image in the attachment.
> 
> I guess, there are probably many improvements that can be added both
> to the dialog's appearance and to other code of the patch, so at this
> point I would like you to ask to comment on the patch.
> 
> Andrey Smirnov
> <0001-Change-the-look-of-dialogs-created-with-x-popup-dial.patch><before-after.png>




  parent reply	other threads:[~2011-12-13  7:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-11 15:01 [PATCH] Change the look of dialogs created with `x-popup-dialog' Andrey Smirnov
2011-12-11 15:29 ` Lennart Borgman
2011-12-12 17:49   ` Stefan Monnier
2011-12-13  2:47     ` Andrey Smirnov
2011-12-13  2:54       ` Lennart Borgman
2011-12-12 17:44 ` Stefan Monnier
2011-12-13  7:07 ` Jan Djärv [this message]
2011-12-14  5:29   ` Andrey Smirnov
2011-12-14 20:41     ` Jan Djärv
2011-12-15  4:56       ` Andrey Smirnov
2011-12-16 13:42         ` Jan D.
2011-12-16 17:32           ` Andrey Smirnov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=890BD378-D3CE-41CE-AEC0-7CEAA1D8CE05@swipnet.se \
    --to=jan.h.d@swipnet.se \
    --cc=andrew.smirnov@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.