← Back to team overview

gnome-split-team team mailing list archive

[Branch ~respawneral/gnome-split/mainline] Rev 237: Assistant pages and labels.

 

------------------------------------------------------------
revno: 237
committer: Guillaume Mazoyer <respawneral@xxxxxxxxx>
branch nick: gnome-split
timestamp: Tue 2010-10-19 11:31:18 +0200
message:
  Assistant pages and labels.
  
  Remove Page assistant class and replace it with
  vboxes only. Align labels to the left with wrap
  property set to 'true'.
modified:
  po/gnome-split.pot
  src/org/gnome/split/gtk/widget/ActionAssistant.java


--
lp:gnome-split
https://code.launchpad.net/~respawneral/gnome-split/mainline

Your team GNOME Split developers is subscribed to branch lp:gnome-split.
To unsubscribe from this branch go to https://code.launchpad.net/~respawneral/gnome-split/mainline/+edit-subscription
=== modified file 'po/gnome-split.pot'
--- po/gnome-split.pot	2010-10-14 14:22:27 +0000
+++ po/gnome-split.pot	2010-10-19 09:31:18 +0000
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-14 16:21+0200\n"
+"POT-Creation-Date: 2010-10-19 11:27+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@xxxxxx>\n"
@@ -371,116 +371,120 @@
 msgstr ""
 
 #: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:100
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:193
+msgid "Interface"
+msgstr ""
+
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:101
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:234
 #: src/org/gnome/split/gtk/widget/SelectView.java:68
 msgid "Split"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:101
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:208
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:102
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:249
 #: src/org/gnome/split/gtk/widget/SelectView.java:76
 msgid "Merge"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:102
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:103
 msgid "Desktop"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:152
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:124
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:150
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:122
 msgid "Assistant"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:162
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:242
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:160
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:262
 msgid "_Show the assistant on start"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:179
-msgid "Default view"
-msgstr ""
-
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:227
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:177
 msgid "Program run"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:237
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:187
 msgid "_Allow multiple instances."
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:254
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:220
+msgid "Default view"
+msgstr ""
+
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:268
 msgid "Size of the main window"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:270
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:284
 msgid "Use the _current size"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:274
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:288
 msgid "_Use a custom size."
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:389
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:403
 msgid "During a split"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:398
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:412
 msgid "_Calculate the MD5 sum if possible."
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:415
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:429
 msgid "Default algorithm"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:448
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:569
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:462
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:583
 msgid "Default directory"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:458
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:579
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:472
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:593
 #: src/org/gnome/split/gtk/widget/SplitWidget.java:147
 #: src/org/gnome/split/gtk/widget/MergeWidget.java:165
 msgid "Choose a directory."
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:486
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:500
 msgid "During a merge"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:500
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:514
 msgid "_Remove the chunks."
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:503
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:517
 msgid "_Check the MD5 sum if possible."
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:525
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:539
 msgid "After a merge"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:552
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:566
 msgid "_Open the created file."
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:602
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:616
 msgid "Power management"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:613
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:627
 msgid "Inhibit desktop _hibernation when an action is performed."
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:630
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:644
 msgid "Notification"
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:644
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:658
 msgid "Show _icon in the desktop notification area."
 msgstr ""
 
-#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:660
+#: src/org/gnome/split/gtk/dialog/PreferencesDialog.java:674
 msgid "Show desktop _notification."
 msgstr ""
 
@@ -614,7 +618,7 @@
 msgstr ""
 
 #: src/org/gnome/split/gtk/widget/MergeWidget.java:132
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:520
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:510
 msgid "Valid chunks"
 msgstr ""
 
@@ -658,102 +662,102 @@
 msgid "A MD5 sum will not be calculated."
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:192
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:218
 msgid "What do you want to do?"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:210
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:230
 msgid "Split a file"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:211
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:231
 msgid "Merge several files"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:259
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:279
 msgid "Action selection"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:271
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:291
 msgid "Select the file to split."
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:287
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:655
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:301
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:639
 msgid "File to split:"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:291
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:527
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:305
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:517
 msgid "Select a file."
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:311
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:548
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:325
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:538
 msgid "File selection"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:323
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:337
 msgid ""
 "Select the maximal size for each chunk. You can let GNOME Split calculate "
 "the size by giving the number of chunks to create."
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:371
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:379
 msgid ""
 "Invalid chunk size. The size must be lower than the size of the file to "
 "split."
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:401
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:409
 msgid "Size selection"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:416
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:424
 msgid "The algorithm defines the way how the file will be split."
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:432
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:434
 msgid "Algorithm to use:"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:457
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:459
 msgid "Algorithm selection"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:469
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:471
 msgid ""
 "The split is now ready. Take a look to the summary. If something is wrong, "
 "go back to the a previous step to change it before confirming."
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:488
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:587
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:484
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:571
 msgid "Confirmation"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:500
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:496
 msgid "Select the first file to merge."
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:516
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:506
 msgid "File to merge:"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:560
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:550
 msgid ""
 "You can check that you pick up the right file. If it is not the first file "
 "to merge, go back to the previous step to choose another one."
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:646
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:630
 msgid "First file to merge:"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:658
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:642
 msgid "Maximum size of a chunk:"
 msgstr ""
 
-#: src/org/gnome/split/gtk/widget/ActionAssistant.java:661
+#: src/org/gnome/split/gtk/widget/ActionAssistant.java:645
 msgid "Algorithm of split:"
 msgstr ""

=== modified file 'src/org/gnome/split/gtk/widget/ActionAssistant.java'
--- src/org/gnome/split/gtk/widget/ActionAssistant.java	2010-08-30 23:42:33 +0000
+++ src/org/gnome/split/gtk/widget/ActionAssistant.java	2010-10-19 09:31:18 +0000
@@ -23,7 +23,6 @@
 import java.io.File;
 
 import org.gnome.gdk.Pixbuf;
-import org.gnome.gtk.Alignment;
 import org.gnome.gtk.Assistant;
 import org.gnome.gtk.Assistant.Apply;
 import org.gnome.gtk.Assistant.Cancel;
@@ -41,7 +40,6 @@
 import org.gnome.gtk.HBox;
 import org.gnome.gtk.IconSize;
 import org.gnome.gtk.Image;
-import org.gnome.gtk.Justification;
 import org.gnome.gtk.Label;
 import org.gnome.gtk.RadioButton;
 import org.gnome.gtk.RadioGroup;
@@ -183,27 +181,49 @@
     }
 
     /**
+     * Create a simple label which is aligned to the left and which can use
+     * markups.
+     */
+    private Label createLeftAlignedLabel(String text) {
+        final Label label = new Label(text);
+
+        label.setUseMarkup(true);
+        label.setLineWrap(true);
+        label.setAlignment(0.0f, 0.5f);
+
+        return label;
+    }
+
+    /**
+     * Create a &quot;page&quot;. It is actually just a {@link VBox} with 5
+     * pixels as border.
+     * 
+     * @return
+     */
+    private VBox createPage() {
+        final VBox page = new VBox(false, 3);
+
+        page.setBorderWidth(5);
+
+        return page;
+    }
+
+    /**
      * Create the main introduction of the assistant.
      */
     private void createGeneralIntroduction() {
-        final Page page = new Page();
+        final VBox page = this.createPage();
 
         // The text to display
         final String data = _("What do you want to do?");
 
-        // Create the label
-        final Label text = new Label();
-        text.setLabel(data);
-        text.setUseMarkup(true);
-        text.setJustify(Justification.LEFT);
-
         // Add the label
-        page.container.packStart(text, false, false, 0);
+        page.packStart(this.createLeftAlignedLabel(data), false, false, 0);
 
         // Create a box to pack the two choices
         final VButtonBox box = new VButtonBox();
         box.setLayout(ButtonBoxStyle.SPREAD);
-        page.container.packStart(box, false, false, 0);
+        page.packStart(box, false, false, 0);
 
         // Create the two choices
         final RadioGroup group = new RadioGroup();
@@ -241,7 +261,7 @@
         // Add a button to turn on/off the assistant on start
         final CheckButton assistant = new CheckButton(_("_Show the assistant on start"));
         assistant.setActive(app.getConfig().ASSISTANT_ON_START);
-        page.container.packStart(assistant, false, false, 0);
+        page.packStart(assistant, false, false, 0);
 
         // Connect check button signal
         assistant.connect(new Button.Clicked() {
@@ -265,23 +285,17 @@
      * Create a page to select the file to split.
      */
     private void createSplitFileSelection() {
-        final Page page = new Page();
+        final VBox page = this.createPage();
 
         // The text to display
         final String data = _("Select the file to split.");
 
-        // Create the label
-        final Label text = new Label(data);
-        text.setUseMarkup(true);
-        text.setJustify(Justification.LEFT);
-        text.setLineWrap(true);
-
         // Add the label
-        page.container.packStart(text, false, false, 0);
+        page.packStart(this.createLeftAlignedLabel(data), false, false, 0);
 
         // Create a box to pack widgets to select a file
         final HBox box = new HBox(false, 3);
-        page.container.packStart(box, false, false, 0);
+        page.packStart(box, false, false, 0);
 
         // Add a label to it
         final Label label = new Label(_("File to split:"));
@@ -317,23 +331,17 @@
      * Create a page to select the size.
      */
     private void createSplitSizeSelection() {
-        final Page page = new Page();
+        final VBox page = this.createPage();
 
         // The text to display
         final String data = _("Select the maximal size for each chunk. You can let GNOME Split calculate the size by giving the number of chunks to create.");
 
-        // Create the label
-        final Label text = new Label(data);
-        text.setUseMarkup(true);
-        text.setJustify(Justification.LEFT);
-        text.setLineWrap(true);
-
         // Add the label
-        page.container.packStart(text, false, false, 0);
+        page.packStart(this.createLeftAlignedLabel(data), false, false, 0);
 
         // Create a box to pack widgets to select a file size
         final HBox box = new HBox(false, 3);
-        page.container.packStart(box, false, false, 0);
+        page.packStart(box, false, false, 0);
 
         // Create the spin button
         final SpinButton button = new SpinButton(1, 4096, 1);
@@ -407,7 +415,7 @@
      * Create a page to select the algorithm.
      */
     private void createSplitAlgoSelection() {
-        final Page page = new Page();
+        final VBox page = this.createPage();
 
         // Setup the default algorithm
         algorithm = app.getConfig().DEFAULT_ALGORITHM;
@@ -415,18 +423,12 @@
         // The text to display
         final String data = _("The algorithm defines the way how the file will be split.");
 
-        // Create the label
-        final Label text = new Label(data);
-        text.setUseMarkup(true);
-        text.setJustify(Justification.LEFT);
-        text.setLineWrap(true);
-
         // Add the label
-        page.container.packStart(text, false, false, 0);
+        page.packStart(this.createLeftAlignedLabel(data), false, false, 0);
 
         // Create a box to pack widgets to select a file
         final HBox box = new HBox(false, 3);
-        page.container.packStart(box, false, false, 0);
+        page.packStart(box, false, false, 0);
 
         // Add a label to it
         final Label label = new Label(_("Algorithm to use:"));
@@ -463,24 +465,18 @@
      * Create a page to sum up all info and validate the split.
      */
     private void createSplitSummary() {
-        final Page page = new Page();
+        final VBox page = this.createPage();
 
         // The text to display
         final String data = _("The split is now ready. Take a look to the summary. If something is wrong, go back to the a previous step to change it before confirming.");
 
-        // Create the label
-        final Label text = new Label(data);
-        text.setUseMarkup(true);
-        text.setJustify(Justification.LEFT);
-        text.setLineWrap(true);
-
         // Add the label
-        page.container.packStart(text, false, false, 0);
+        page.packStart(this.createLeftAlignedLabel(data), false, false, 0);
 
         // Add the text view
         summary = new TextView(new TextBuffer());
         summary.setEditable(false);
-        page.container.packStart(summary, false, false, 0);
+        page.packStart(summary, false, false, 0);
 
         // Setup the page in the assistant
         this.insertPage(page, 5);
@@ -494,23 +490,17 @@
      * Create a page to select the first file to merge.
      */
     private void createMergeFileSelection() {
-        final Page page = new Page();
+        final VBox page = this.createPage();
 
         // The text to display
         final String data = _("Select the first file to merge.");
 
-        // Create the label
-        final Label text = new Label(data);
-        text.setUseMarkup(true);
-        text.setJustify(Justification.LEFT);
-        text.setLineWrap(true);
-
         // Add the label
-        page.container.packStart(text, false, false, 0);
+        page.packStart(this.createLeftAlignedLabel(data), false, false, 0);
 
         // Create a box to pack widgets to select a file
         final HBox box = new HBox(false, 3);
-        page.container.packStart(box, false, false, 0);
+        page.packStart(box, false, false, 0);
 
         // Add a label to it
         final Label label = new Label(_("File to merge:"));
@@ -554,27 +544,21 @@
      * Create a page to sum up all info and validate the merge.
      */
     private void createMergeSummary() {
-        final Page page = new Page();
+        final VBox page = this.createPage();
 
         // The text to display
         final String data = _("You can check that you pick up the right file. If it is not the first file to merge, go back to the previous step to choose another one.");
 
-        // Create the label
-        final Label text = new Label(data);
-        text.setUseMarkup(true);
-        text.setJustify(Justification.LEFT);
-        text.setLineWrap(true);
-
         // Add the label
-        page.container.packStart(text, false, false, 0);
+        page.packStart(this.createLeftAlignedLabel(data), false, false, 0);
 
         // Create a box to show the directory information
         final HBox dirBox = new HBox(false, 3);
-        page.container.packStart(dirBox, false, false, 0);
+        page.packStart(dirBox, false, false, 0);
 
         // Create a box to show the file information
         final HBox fileBox = new HBox(false, 3);
-        page.container.packStart(fileBox, false, false, 0);
+        page.packStart(fileBox, false, false, 0);
 
         // Add the text view
         summary = new TextView(new TextBuffer());
@@ -663,28 +647,4 @@
             break;
         }
     }
-
-    /**
-     * A custom widget which will be used as a page for an {@link Assistant}.
-     * 
-     * @author Guillaume Mazoyer
-     */
-    private class Page extends Alignment
-    {
-        /**
-         * The main container.
-         */
-        VBox container;
-
-        Page() {
-            super(0f, 0f, 0f, 0f);
-
-            // Set the margins
-            this.setPadding(12, 12, 12, 12);
-
-            // Add the main container
-            container = new VBox(false, 5);
-            this.add(container);
-        }
-    }
 }