GTG

Add a preferences dialog to GTG

Bug #342955 reported by Bertrand Rousseau
6
Affects Status Importance Assigned to Milestone
GTG
Fix Released
Medium
Paul Natsuo Kishimoto

Bug Description

Some settings, like spell checking, require to be set at application-level. Same thing for plugins. As sush, a preference pane should be added to GTG to be able to edit thos options.

It should only present a very small set of settings, since I don't think that many options are required.

Tags: prefs-dialog

Related branches

Changed in gtg:
importance: Undecided → Medium
milestone: none → 0.2
status: New → Confirmed
Changed in gtg:
milestone: 0.2 → 0.3
Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

I like the way preferences are configured in e.g. gedit; via a dialog opened from Edit → Preferences.

Plugins have their own tab in this dialog, with a button that is enabled when a plugin has its own preferences dialog that can be opened.

In the case of GTG, backends could also have their own tab.

summary: - Add a preference pane to GTG
+ Add a preferences dialog to GTG
tags: added: prefs-dialog
Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

I started work on this. Please try out the attached (incomplete!) branch.

TASKS tab:
* The "show preview" refers to Luca's branch attached to bug #384049.
* I didn't know what about spell-checking had to be set, so I just put a checkbox.
* Can anyone suggest other bugs that should be options?

BACKENDS tab:
* To hold whatever comes up as a solution to bug #336623.

PLUGINS tab:
* Redesigned based on gedit. The "About Plugin" button brings up (surprise) information about the plugin. It is possible to extend gtk.AboutDialog, so I put in a place to for notices about dependencies. A next step would be to add a button that uses PackageKit or something like that to automatically install the dependencies.
* Config dialogs don't work at the moment.

Revision history for this message
Luca Invernizzi (invernizzi) wrote :

Hi Paul. I personally like your idea quite a lot, but have a talk with Bertrand first, since he's our GUI supervisor, to make sure this is the way gtg is intended to go.

A note on removing the "plugins" menu: several plugins need that because they append their entries to that menu, so you might think about how to provide the same functionality without the menu.

Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

Ah, did I remove it? That is a mistake.

Like the Edit/Undo and Edit/Redo menus, maybe it should be only hidden until a plugin adds an entry. Would that be appropriate?

Changed in gtg:
status: Confirmed → In Progress
Revision history for this message
Luca Invernizzi (invernizzi) wrote :

another configuration that could be an option: autostart gtg, following
 http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html (basically you put a .desktop file in ls .config/autostart/
, where .config is taken from the XDG directories).

Revision history for this message
Bertrand Rousseau (bertrand-rousseau) wrote :

I can't start your branch right now, there's seems to be some hickups in your code:

Traceback (most recent call last):
  File "./gtg", line 31, in <module>
    import GTG.gtg
  File "/home/rousseau/workspace/gtg/prefs-dialog/GTG/gtg.py", line 55, in <module>
    from GTG.taskbrowser.browser import TaskBrowser
  File "/home/rousseau/workspace/gtg/prefs-dialog/GTG/taskbrowser/browser.py", line 44, in <module>
    from GTG.taskbrowser.preferences import PreferencesDialog
  File "/home/rousseau/workspace/gtg/prefs-dialog/GTG/taskbrowser/preferences.py", line 74
    'plugin_config_dialog': 'PluginConfigDialog',

Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

Sorry about that; try again now.

Revision history for this message
Bertrand Rousseau (bertrand-rousseau) wrote :

It looks really promising, nice work!

I know it's early code, so it's not meant to be perfect, but here's some remarks that I'd like to share while you're working on this:

 - the first tab is called "GTG", it should be more explicit and define what kind of settings are set in this tab. If it's too broad, I suggest "General", "General settings". In the present configuration "Behavior" would be the best I think.
 - the "plugins" tab lists plugins, and put an icon in front of each plugins. If the icon is meant to be customized I'm ok, if it's not, than I think it's useless since there all the same.
 - for some reasons the "about" window of each plugin pops up in the top left corner, it would be nice if it could appear around the point/window

Thanks again!

Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

1. I went from "View" to "Tasks" to "GTG", but "Behaviour" is perfect.

2. As stated, it's based on gedit...if you install "gedit-plugins" check out the Plugins tab in the preferences, you can see that some have custom icons, but others have a default "jigsaw puzzle piece" icon. I was intending to steal that icon :)

A lot of plugins have application icons (Hamster, Evolution) or website favicons (RTM, Bugzilla) that would be good to use to provide visual aids. But it involves extending the plugin code, which I'm not going to do just yet.

3. Probably there is a hint for this, I will investigate.

Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

OK, I made those changes. To avoid bugging you all, I've put a to-do list in the branch description and will update that as I get further bits working.

Revision history for this message
Luca Invernizzi (invernizzi) wrote :

Paul, we are here because we like to be bugged. Besides, mail filters do exist!
and the daily bug digest, of course

Changed in gtg:
assignee: nobody → Paul Kishimoto (khaeru)
Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

Since most of the preferences I have added depend on not-yet-complete features (or the backend restructuring that may/may not be ongoing), I wonder if it is better to just hide/disable those UI elements for the time being, merge the branch, and then let them be selectively re-enabled by other branches as those features are merged.

How does that sound?

Revision history for this message
Luca Invernizzi (invernizzi) wrote :

If your code is stable enough to not introduce (lots of) bugs, I agree. Maybe, you could make it visible only if using "gtg -d". This way, it's not broken each time someone changes something.

Revision history for this message
Bertrand Rousseau (bertrand-rousseau) wrote : Re: [Bug 342955] Re: Add a preferences dialog to GTG

I think we could merge this, but non-working elements should be
commented out. The actual content could be defined organically, as
features come.

On Fri, Feb 12, 2010 at 8:51 PM, Luca Invernizzi <email address hidden> wrote:
> If your code is stable enough to not introduce (lots of) bugs, I agree.
> Maybe, you could make it visible only if using "gtg -d". This way, it's
> not broken each time someone changes something.
>
> --
> Add a preferences dialog to GTG
> https://bugs.launchpad.net/bugs/342955
> You received this bug notification because you are a member of Gtg
> contributors, which is subscribed to Getting Things GNOME!.
>

--
Bertrand Rousseau

Revision history for this message
Paul Natsuo Kishimoto (khaeru) wrote :

Luca, I didn't end up hooking it to the "-d" flag, as I've pulled out a lot of old code (e.g. the entire old PluginManager) and that would introduce regressions if people ran *without* "-d".

However it does seem to be in working shape. I submitted a merge request: https://code.launchpad.net/~khaeru/gtg/prefs-dialog/+merge/19367, please check it out.

Changed in gtg:
status: In Progress → Fix Committed
Changed in gtg:
milestone: 0.3 → 0.2.2
Changed in gtg:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.