Changeset 202

Show
Ignore:
Timestamp:
07/08/10 17:53:07 (2 months ago)
Author:
Guillaume Mazoyer <respawneral@…>
branch-nick:
gnome-split
revision id:
respawneral@gmail.com-20100708155307-7h0vjba1c9znx0t1
Message:

Style for the status widget.

Add 2 styles for the status widget. The user can
choose ICON or TEXT according to the the status
widget he wants. If ICON is chosen, the 2 icons
will be shown, else if TEXT is chosen, only the
text will be shown. It can be configured via the
view menu.

Files:
1 added
5 modified

Legend:

Unmodified
Added
Removed
  • po/gnome-split.pot

    r200 r202  
    99"Project-Id-Version: PACKAGE VERSION\n" 
    1010"Report-Msgid-Bugs-To: \n" 
    11 "POT-Creation-Date: 2010-07-07 22:20+0200\n" 
     11"POT-Creation-Date: 2010-07-08 17:50+0200\n" 
    1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 
    1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
     
    243243msgstr "" 
    244244 
     245#: src/org/gnome/split/gtk/action/StatusStyleAction.java:37 
     246msgid "_Icons in statusbar" 
     247msgstr "" 
     248 
    245249#: src/org/gnome/split/gtk/action/ViewSwitcherAction.java:37 
    246250msgid "_View switcher" 
    247251msgstr "" 
    248252 
    249 #: src/org/gnome/split/gtk/MainWindow.java:236 
     253#: src/org/gnome/split/gtk/MainWindow.java:238 
    250254msgid "_File" 
    251255msgstr "" 
    252256 
    253 #: src/org/gnome/split/gtk/MainWindow.java:268 
     257#: src/org/gnome/split/gtk/MainWindow.java:270 
    254258msgid "_Edit" 
    255259msgstr "" 
    256260 
    257 #: src/org/gnome/split/gtk/MainWindow.java:282 
     261#: src/org/gnome/split/gtk/MainWindow.java:284 
    258262msgid "_View" 
    259263msgstr "" 
    260264 
    261 #: src/org/gnome/split/gtk/MainWindow.java:308 
     265#: src/org/gnome/split/gtk/MainWindow.java:313 
    262266msgid "_Help" 
    263267msgstr "" 
     
    475479msgstr "" 
    476480 
    477 #: src/org/gnome/split/gtk/widget/StatusWidget.java:71 
    478 #: src/org/gnome/split/gtk/widget/StatusWidget.java:111 
     481#: src/org/gnome/split/gtk/widget/StatusWidget.java:81 
     482#: src/org/gnome/split/gtk/widget/StatusWidget.java:147 
    479483msgid "Ready." 
    480484msgstr "" 
    481485 
    482 #: src/org/gnome/split/gtk/widget/StatusWidget.java:80 
    483 #: src/org/gnome/split/gtk/widget/StatusWidget.java:102 
     486#: src/org/gnome/split/gtk/widget/StatusWidget.java:91 
     487#: src/org/gnome/split/gtk/widget/StatusWidget.java:138 
    484488msgid "Unknown speed" 
    485489msgstr "" 
    486490 
    487 #: src/org/gnome/split/gtk/widget/StatusWidget.java:102 
     491#: src/org/gnome/split/gtk/widget/StatusWidget.java:138 
    488492msgid "Speed" 
    489493msgstr "" 
  • src/org/gnome/split/config/Configuration.java

    r174 r202  
    130130     */ 
    131131    public boolean SHOW_STATUSBAR; 
     132 
     133    /** 
     134     * The style that should be used by the status widget. 
     135     */ 
     136    public byte STATUS_STYLE; 
    132137 
    133138    /** 
     
    199204            writer.write("ShowSwitcher      = true\n"); 
    200205            writer.write("ShowStatusbar     = true\n"); 
     206            writer.write("StatusStyle       = 0\n"); 
    201207            writer.write("DontAskToQuit     = false\n"); 
    202208            writer.write("CloseBehavior     = 0\n"); 
     
    256262            SHOW_SWITCHER = Boolean.parseBoolean(preferences.getProperty("ShowSwitcher", "true")); 
    257263            SHOW_STATUSBAR = Boolean.parseBoolean(preferences.getProperty("ShowStatusbar", "true")); 
     264            STATUS_STYLE = Byte.parseByte(preferences.getProperty("StatusStyle", "0")); 
    258265            DO_NOT_ASK_QUIT = Boolean.parseBoolean(preferences.getProperty("DontAskToQuit", "false")); 
    259266            CLOSE_BEHAVIOR = Byte.parseByte(preferences.getProperty("CloseBehavior", "0")); 
     
    300307            writer.write("ShowSwitcher      = " + SHOW_SWITCHER + "\n"); 
    301308            writer.write("ShowStatusbar     = " + SHOW_STATUSBAR + "\n"); 
     309            writer.write("StatusStyle       = " + STATUS_STYLE + "\n"); 
    302310            writer.write("DontAskToQuit     = " + DO_NOT_ASK_QUIT + "\n"); 
    303311            writer.write("CloseBehavior     = " + CLOSE_BEHAVIOR + "\n"); 
  • src/org/gnome/split/gtk/MainWindow.java

    r200 r202  
    5050import org.gnome.split.gtk.widget.SplitWidget; 
    5151import org.gnome.split.gtk.widget.StatusWidget; 
     52import org.gnome.split.gtk.widget.StatusWidget.StatusStyle; 
    5253 
    5354import static org.freedesktop.bindings.Internationalization._; 
     
    208209 
    209210        // Add status widget 
    210         this.status = new StatusWidget(); 
     211        final StatusStyle style = StatusStyle.values()[app.getConfig().STATUS_STYLE]; 
     212        this.status = new StatusWidget(style); 
    211213        this.mainContainer.packStart(this.status, false, false, 0); 
    212214 
    213215        // Show the status widget if needed 
    214216        if (app.getConfig().SHOW_STATUSBAR) { 
    215             this.status.showAll(); 
     217            this.status.show(); 
    216218            this.separators[1].show(); 
    217219        } 
     
    285287 
    286288        // Create menu items 
    287         items = new MenuItem[6]; 
     289        items = new MenuItem[7]; 
    288290        items[0] = actions.getAction(ActionId.CLEAR).createMenuItem(); 
    289291        items[1] = actions.getToggleAction(ActionId.TOOLBAR).createMenuItem(); 
    290292        items[2] = actions.getToggleAction(ActionId.SWITCHER).createMenuItem(); 
    291293        items[3] = actions.getToggleAction(ActionId.STATUS).createMenuItem(); 
    292         items[4] = actions.getRadioAction(ActionId.SPLIT).createMenuItem(); 
    293         items[5] = actions.getRadioAction(ActionId.MERGE).createMenuItem(); 
     294        items[4] = actions.getToggleAction(ActionId.STATUS_STYLE).createMenuItem(); 
     295        items[5] = actions.getRadioAction(ActionId.SPLIT).createMenuItem(); 
     296        items[6] = actions.getRadioAction(ActionId.MERGE).createMenuItem(); 
    294297 
    295298        // Add menu items to the menu 
     
    302305        viewMenu.append(new SeparatorMenuItem()); 
    303306        viewMenu.append(items[4]); 
     307        viewMenu.append(new SeparatorMenuItem()); 
    304308        viewMenu.append(items[5]); 
     309        viewMenu.append(items[6]); 
    305310        menubar.append(viewItem); 
    306311 
  • src/org/gnome/split/gtk/action/ActionManager.java

    r199 r202  
    135135        ViewSwitcherAction switcher = new ViewSwitcherAction(app); 
    136136        ViewStatusbarAction status = new ViewStatusbarAction(app); 
     137        StatusStyleAction style = new StatusStyleAction(app); 
    137138 
    138139        // Add the previously created actions 
     
    141142        toggles.put(ActionId.SWITCHER, switcher); 
    142143        toggles.put(ActionId.STATUS, status); 
     144        toggles.put(ActionId.STATUS_STYLE, style); 
    143145 
    144146        // Other actions related to the interface which have two possible 
     
    194196    public enum ActionId 
    195197    { 
    196         ASSISTANT, OPEN_DIR, START, PAUSE, CANCEL, DELETE, CLEAR, EXIT, PREFERENCES, TOOLBAR, SWITCHER, STATUS, SPLIT, MERGE, HELP, ONLINE_HELP, TRANSLATE, REPORT_BUG, ABOUT, TRAY_WINDOW; 
     198        ASSISTANT, OPEN_DIR, START, PAUSE, CANCEL, DELETE, CLEAR, EXIT, PREFERENCES, TOOLBAR, SWITCHER, STATUS, STATUS_STYLE, SPLIT, MERGE, HELP, ONLINE_HELP, TRANSLATE, REPORT_BUG, ABOUT, TRAY_WINDOW; 
    197199    } 
    198200} 
  • src/org/gnome/split/gtk/widget/StatusWidget.java

    r191 r202  
    3333 
    3434/** 
    35  * A custom {@link Statusbar} like to show information about an action. 
     35 * A {@link Statusbar} like to show information about an action. 
    3636 *  
    3737 * @author Guillaume Mazoyer 
     
    5555    private Image speed; 
    5656 
    57     public StatusWidget() { 
     57    /** 
     58     * Separators for icons and texts. 
     59     */ 
     60    private VSeparator[] separators; 
     61 
     62    public StatusWidget(StatusStyle style) { 
    5863        super(false, 1); 
    5964 
     
    6166        this.setBorderWidth(2); 
    6267 
     68        // Create separators 
     69        separators = new VSeparator[2]; 
     70        separators[0] = new VSeparator(); 
     71        separators[1] = new VSeparator(); 
     72 
    6373        // Add the icon 
    64         image = new Image(Stock.DIALOG_INFO, IconSize.MENU); 
     74        this.image = new Image(Stock.DIALOG_INFO, IconSize.MENU); 
    6575        this.packStart(image, false, false, 0); 
    6676 
    6777        // Add a first separator 
    68         this.packStart(new VSeparator(), false, false, 0); 
     78        this.packStart(separators[0], false, false, 0); 
    6979 
    7080        // Add the text display 
    71         text = new Label(_("Ready.")); 
    72         text.setEllipsize(EllipsizeMode.MIDDLE); 
     81        this.text = new Label(_("Ready.")); 
     82        this.text.setEllipsize(EllipsizeMode.MIDDLE); 
     83        this.text.show(); 
    7384        this.packStart(text, true, true, 0); 
    7485 
    7586        // Add a second separator 
    76         this.packStart(new VSeparator(), false, false, 0); 
     87        this.packStart(separators[1], false, false, 0); 
    7788 
    7889        // Add the speed display 
    79         speed = new Image(Stock.HARDDISK, IconSize.MENU); 
    80         speed.setTooltipText(_("Unknown speed")); 
     90        this.speed = new Image(Stock.HARDDISK, IconSize.MENU); 
     91        this.speed.setTooltipText(_("Unknown speed")); 
    8192        this.packStart(speed, false, false, 0); 
     93 
     94        // Set the style of the widget 
     95        this.setStyle(style); 
     96    } 
     97 
     98    public void setStyle(StatusStyle style) { 
     99        if (style == StatusStyle.ICON) { 
     100            // Show icons 
     101            image.show(); 
     102            speed.show(); 
     103 
     104            // Show separators 
     105            for (VSeparator separator : separators) { 
     106                separator.show(); 
     107            } 
     108        } else { 
     109            // Hide icons 
     110            image.hide(); 
     111            speed.hide(); 
     112 
     113            // Hide separators 
     114            for (VSeparator separator : separators) { 
     115                separator.hide(); 
     116            } 
     117        } 
    82118    } 
    83119 
     
    129165        this.updateSpeed(speed); 
    130166    } 
     167 
     168    /** 
     169     * Style of the status widget. It can use icons or texts. 
     170     *  
     171     * @author Guillaume Mazoyer 
     172     */ 
     173    public enum StatusStyle 
     174    { 
     175        ICON, TEXT; 
     176    } 
    131177}