[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Texmacs-dev] Qt interface TODO list

From: Miguel de Benito Delgado
Subject: Re: [Texmacs-dev] Qt interface TODO list
Date: Sun, 7 Nov 2010 17:06:06 +0100


On Sun, Nov 7, 2010 at 15:23, Joris van der Hoeven <address@hidden> wrote:
Needless to say: our top priority is making the Qt port of TeXmacs
the default interface.

Does "Default interface" mean that others will eventually begin to be phased out? This would contradict a few things below so I'm guessing not. Would it be then be bad practice to depend on QT specific stuff for generic tasks? For instance, bug #28671, mentions something about moving ~/.TeXmacs to a system specific place, and I think QT has something along those lines (I'm not sure though, but if it did, should I use it?)

1) There are still many bugs: see the bug tracker on Savannah and
  select 'Qt port' as the category. Any help on fixing these bugs,
  or reporting new bugs is welcome.

So the tracker *is* used, just low activity.
2) The Qt iconbars are very ugly and not very native under MacOS (for instance).
  The following things have to be redesigned with care: 
  a) Under MacOS, there is no border between the title bar and the icon bars.
     Also, the main icon bar should not be visible by default.
     Probably, the mode dependent icons should be made larger and
     the focus dependent icons should remain small with a distinguished layout
     and a border with the mode dependent icons.
QT has QMainWindow::setUnifiedTitleAndToolBarOnMac() which I just tried and produces a very nice MacOS-like toolbar but with way too many buttons on it because all go into the same and only toolbar. This is explained in the QT docs as follows:

  • QToolBars in this toolbar area are not movable and you cannot drag other toolbars to it
  • Toolbar breaks are not respected or preserved
  • Any custom widgets in the toolbar will not be shown if the toolbar becomes too small (only actions will be shown)
      b) The style of the icons should be customized: all icons are currently monospaced.
         This is both ugly and a waste of space.
    What does "monospaced" mean?
      c) The small triangles indicating submenus are ugly. Instead we should make
         the existence of buttons apparent when going over the icons with the mouse,
         and the existence of submenus only in that case as well. Furthermore,
         it would be nice to implement buttons with a default action *and*
         a submenu when dragging out of the icon on the bottom.

    I think it's customary to show the small triangles. At least, I expect them when there are submenus under buttons. We could use prettier ones.

      d) We need various new widgets for placement on the icon bars:

         * Toggle buttons
         * Text fields
         * Textual input fields
         * Groups of small buttons (e.g.: go back, go forward)

         Also, various styles might be used. For instance, text fields might
         use a smaller grey bold sans serif font and input fields a smaller font
         on a lighter background.

      I will try to implemented most of these things in the X11 front-end,
      so that others may try to do the same thing for the Qt front-end.

    In QT this is pretty straightforward, since it's all already done, just waiting to be used with a couple of instructions, even the styling which can be dynamically changed to almost anything you want. Are you sure you don't want to drop X11? :) Just kidding...
    3) The following widgets should be added at a certain point:

      * A page setup widget (and a printer widget).
      * A color browser with three modes: standard and recently used colors,
        an rgb color picker and a background pattern selector.
      * A font browser widget (more complex, since it also requires
        a reorganization of the font system).
      * A paragraph properties widget.
      * A preferences widget.
      * A style/package browser widget with basic explanations?

      All these widgets also have to be implemented on the X11 side.
      Some of them, such as the preferences widget, would benefit
      from a general mechanism for designing widget via markup.

    With QT it's already there and called QUiLoader. If the functionality is needed for other toolkits as well, I'd suggest writing an interpreter of the same format, which after all is just xml. However, this whole solution involves maintaining a separate file for the preferences pane, which could easily get out of sync. It might be easier to just use some automated generation from the preferences and their data types (put a checkbox for bools, etc.), if that's possible. Because I don't really know how, where or by whom are the preferences stored I couldn't tell right now what's best.
      Nevertheless, we do not need that many extra widgets
      (most issues are better adressed by a well designed focus icons bar).
      If we are impatient, then we may actually implement a few ad hoc
      widgets which might later be replaced by something better.

    What's exactly the purpose of this focus icon bar? Provide buttons specific to the context in the editor, right? 
    Miguel de  Benito.

    reply via email to

    [Prev in Thread] Current Thread [Next in Thread]