/** Creates the GUI */
  private void createGUI() {
    JPanel content = (JPanel) this.getContentPane();
    content.setLayout(new BorderLayout());
    content.setBorder(UiUtilities.DIALOG_BORDER);

    Vector<String> data = new Vector<String>();

    data.add(TIMETEXT[0]);
    data.add(TIMETEXT[1]);
    data.add(TIMETEXT[2]);

    TimeFormatter formatter = new TimeFormatter();

    for (int time : mTimes) {
      int h = time / 60;
      int m = time % 60;
      StringBuilder builder = new StringBuilder();
      builder.append(mLocalizer.msg("at", "at"));
      builder.append(' ');
      builder.append(formatter.formatTime(h, m));
      data.add(builder.toString());
    }

    data.add(mLocalizer.msg("configureTimes", "Configure Times"));

    mBox = new JComboBox(data);

    mBox.addActionListener(
        new ActionListener() {

          private int lastSelected = 0;

          public void actionPerformed(ActionEvent e) {
            if (mBox.getSelectedIndex() == mBox.getItemCount() - 1) {
              mBox.setSelectedIndex(lastSelected);
              Plugin.getPluginManager().showSettings(SettingsItem.TIMEBUTTONS);
            } else {
              lastSelected = mDate.getSelectedIndex();
              int time = calcTimeForSelection(mBox.getSelectedIndex());
              generateList(new Date(), time);
            }
          }
        });

    ButtonGroup group = new ButtonGroup();
    group.add(mRuns);
    group.add(mOn);

    JPanel datetimeselect = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));

    Vector<Date> dates = new Vector<Date>();

    Date currentDate = Date.getCurrentDate();
    for (int i = 0; i < 14; i++) {
      dates.add(currentDate.addDays(i));
    }

    mDate = new JComboBox(dates);

    datetimeselect.add(mDate);

    datetimeselect.add(new JLabel(" " + mLocalizer.msg("at", "at") + " "));

    JSpinner.DateEditor dateEditor =
        new JSpinner.DateEditor(mTimeSpinner, Settings.getTimePattern());

    mTimeSpinner.setEditor(dateEditor);

    CaretPositionCorrector.createCorrector(dateEditor.getTextField(), new char[] {':'}, -1);

    datetimeselect.add(mTimeSpinner);

    Vector<String> filters = new Vector<String>();
    filters.add(mLocalizer.msg("filterAll", "all channels"));
    for (String filterName : FilterComponentList.getInstance().getChannelFilterNames()) {
      filters.add(filterName);
    }
    filters.add(mLocalizer.ellipsisMsg("filterDefine", "define filter"));
    mChannels = new JComboBox(filters);
    datetimeselect.add(new JLabel("    "));
    datetimeselect.add(mChannels);

    // Event-Handler

    mRuns.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            refreshView();
          }
        });

    mOn.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            refreshView();
          }
        });

    mDate.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            refreshView();
          }
        });

    mTimeSpinner.addChangeListener(
        new ChangeListener() {
          public void stateChanged(ChangeEvent arg0) {
            refreshView();
          }
        });

    mChannels.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            // user defined selection
            if (mChannels.getSelectedIndex() == mChannels.getItemCount() - 1) {
              EditFilterComponentDlg dlg =
                  new EditFilterComponentDlg(null, null, ChannelFilterComponent.class);
              FilterComponent rule = dlg.getFilterComponent();
              if (rule == null) {
                return;
              }
              if (!(rule instanceof ChannelFilterComponent)) {
                return;
              }
              FilterComponentList.getInstance().add(rule);
              FilterComponentList.getInstance().store();
              String filterName = rule.getName();
              mChannels.removeAllItems();
              mChannels.addItem(mLocalizer.msg("filterAll", "all channels"));
              for (String channel : FilterComponentList.getInstance().getChannelFilterNames()) {
                mChannels.addItem(channel);
              }
              mChannels.addItem(mLocalizer.ellipsisMsg("filterDefine", "define filter"));
              mChannels.setSelectedItem(filterName);
            }
            mModel.removeAllRows();
            refreshView();
          }
        });

    mRuns.setSelected(true);
    mDate.setEnabled(false);
    mTimeSpinner.setEnabled(false);

    JLabel filterLabel = new JLabel("Filter:");
    filterLabel.setHorizontalAlignment(SwingConstants.RIGHT);

    mFilterBox = new JComboBox(Plugin.getPluginManager().getFilterManager().getAvailableFilters());
    mFilterBox.setSelectedItem(Plugin.getPluginManager().getFilterManager().getCurrentFilter());
    mFilterBox.addItemListener(
        new ItemListener() {
          public void itemStateChanged(ItemEvent e) {
            if (e.getStateChange() == ItemEvent.SELECTED) {
              mCurrentFilter = (ProgramFilter) e.getItem();
              refreshView();
            }
          }
        });

    // Upper Panel

    JPanel topPanel =
        new JPanel(
            new FormLayout(
                "pref, 3dlu, pref, 15dlu, pref, 3dlu, pref, 3dlu, pref", "pref, 1dlu, pref, 3dlu"));

    CellConstraints cc = new CellConstraints();

    topPanel.add(mRuns, cc.xy(1, 1));
    topPanel.add(mBox, cc.xy(3, 1));
    topPanel.add(mOn, cc.xy(5, 1));
    topPanel.add(datetimeselect, cc.xy(7, 1));

    topPanel.add(filterLabel, cc.xy(1, 3));
    topPanel.add(mFilterBox, cc.xyw(3, 3, 5));

    content.add(topPanel, BorderLayout.NORTH);

    // Rest of the GUI
    mProgramTable = new ListTable(mModel);
    mProgramTable.getTableHeader().setReorderingAllowed(false);
    mProgramTable.getTableHeader().setResizingAllowed(false);
    mProgramTable.setToolTipText("");

    mProgramTable.addMouseListener(
        new MouseAdapter() {
          @Override
          public void mousePressed(MouseEvent evt) {
            if (evt.isPopupTrigger()) {
              showPopup(evt);
            }
          }

          @Override
          public void mouseReleased(MouseEvent evt) {
            if (evt.isPopupTrigger()) {
              showPopup(evt);
            }
          }

          @Override
          public void mouseClicked(MouseEvent e) {
            mouseClickedOnTable(e);
          }
        });

    // Dispatch the KeyEvent to the RootPane for Closing the Dialog.
    // Needed for Java 1.4.
    mProgramTable.addKeyListener(
        new KeyAdapter() {
          @Override
          public void keyPressed(KeyEvent e) {
            mProgramTable.getRootPane().dispatchEvent(e);
          }
        });

    setTableColumProperties();

    JScrollPane scroll =
        new JScrollPane(
            mProgramTable,
            ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
            ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);

    content.add(scroll, BorderLayout.CENTER);

    JPanel buttonPn = new JPanel(new BorderLayout());
    buttonPn.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0));
    content.add(buttonPn, BorderLayout.SOUTH);

    JButton closeButton = new JButton(Localizer.getLocalization(Localizer.I18N_CLOSE));
    closeButton.addActionListener(
        new ActionListener() {

          public void actionPerformed(ActionEvent evt) {
            dispose();
          }
        });

    JPanel p = new JPanel(new FormLayout("pref,5dlu,pref,5dlu,pref", "pref"));
    JButton settings = new JButton(TVBrowserIcons.preferences(TVBrowserIcons.SIZE_SMALL));
    settings.setToolTipText(mLocalizer.msg("settings", "Open settings"));

    settings.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            close();
            Plugin.getPluginManager().showSettings(ListViewPlugin.getInstance());
          }
        });

    final JCheckBox showAtStartup = new JCheckBox(mLocalizer.msg("showAtStart", "Show at start"));
    showAtStartup.setSelected(mSettings.getProperty("showAtStartup", "false").equals("true"));

    showAtStartup.addChangeListener(
        new ChangeListener() {
          public void stateChanged(ChangeEvent e) {
            if (showAtStartup.isSelected()) {
              mSettings.setProperty("showAtStartup", "true");
            } else {
              mSettings.setProperty("showAtStartup", "false");
            }
          }
        });

    p.add(settings, cc.xy(1, 1));
    p.add(showAtStartup, cc.xy(3, 1));

    buttonPn.add(p, BorderLayout.WEST);

    buttonPn.add(closeButton, BorderLayout.EAST);
    getRootPane().setDefaultButton(closeButton);
  }
  public FontsDialog(Frame parent, Font titleFont, Font descriptionFont, Font dateFont) {
    super(parent, true);
    setTitle(mLocalizer.msg("dialog.title", "Fonts"));
    JPanel content = (JPanel) getContentPane();

    UiUtilities.registerForClosing(this);

    CellConstraints cc = new CellConstraints();
    FormLayout layout = new FormLayout("5dlu,pref:grow", "pref,5dlu,pref,2dlu,pref,5dlu,pref");
    PanelBuilder pb = new PanelBuilder(layout, content);
    pb.setBorder(Borders.DLU4_BORDER);

    pb.addSeparator(mLocalizer.msg("fonts", "Fonts"), cc.xyw(1, 1, 2));

    mTitleFontPanel = new FontChooserPanel(mLocalizer.msg("title", "Title"), titleFont);
    mDescriptionFontPanel =
        new FontChooserPanel(mLocalizer.msg("description", "Description"), descriptionFont);
    if (dateFont != null) {
      mDateFontPanel = new FontChooserPanel(mLocalizer.msg("date", "Date"), dateFont);
    }

    int y = 3;

    pb.add(mTitleFontPanel, cc.xy(2, y++));
    pb.add(mDescriptionFontPanel, cc.xy(2, ++y));

    if (dateFont != null) {
      layout.insertRow(++y, RowSpec.decode("2dlu"));
      layout.insertRow(++y, RowSpec.decode("pref"));

      content.add(mDateFontPanel, cc.xy(2, y));
    }
    y++;

    JPanel btnPn = new JPanel(new FlowLayout());

    JButton okBt = new JButton(Localizer.getLocalization(Localizer.I18N_OK));
    JButton cancelBt = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));

    btnPn.add(okBt);
    btnPn.add(cancelBt);

    okBt.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            mResult = OK;
            setVisible(false);
          }
        });

    cancelBt.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            close();
          }
        });

    content.add(btnPn, cc.xyw(1, ++y, 2));

    mResult = CANCEL;
    pack();
  }
  /** Creates the GUI */
  private void createGUI() {
    UiUtilities.registerForClosing(this);

    JPanel panel = (JPanel) getContentPane();
    panel.setLayout(new BorderLayout());

    RatingComparator comperator = new RatingComparator();

    Vector<Rating> overallData = new Vector<Rating>(mPlugin.getDatabase().getServerRatings());
    Collections.sort(overallData, comperator);

    mTabbedPane = new JTabbedPane();

    mOverallRatings = new JList(overallData);
    mOverallRatings.setCellRenderer(new RatingCellRenderer());
    mOverallRatings.addMouseListener(
        new MouseAdapter() {

          public void mousePressed(MouseEvent evt) {
            if (evt.isPopupTrigger()) {
              showPopUpMenu(evt);
            }
          }

          public void mouseReleased(MouseEvent evt) {
            if (evt.isPopupTrigger()) {
              showPopUpMenu(evt);
            }
          }

          public void mouseClicked(MouseEvent e) {
            if ((e.getButton() == MouseEvent.BUTTON1) && (e.getClickCount() == 2)) {
              view();
            }
            super.mouseClicked(e);
          }
        });

    mTabbedPane.addTab(
        mLocalizer.msg("overall", "Overall Ratings"), new JScrollPane(mOverallRatings));

    Vector<Rating> personalData = new Vector<Rating>(mPlugin.getDatabase().getPersonalRatings());
    Collections.sort(personalData, comperator);

    mPersonalRatings = new JList(personalData);
    mPersonalRatings.setCellRenderer(new RatingCellRenderer());
    mPersonalRatings.addMouseListener(
        new MouseAdapter() {
          public void mousePressed(MouseEvent evt) {
            if (evt.isPopupTrigger()) {
              showPopUpMenu(evt);
            }
          }

          public void mouseReleased(MouseEvent evt) {
            if (evt.isPopupTrigger()) {
              showPopUpMenu(evt);
            }
          }

          public void mouseClicked(MouseEvent e) {
            if ((e.getButton() == MouseEvent.BUTTON1) && (e.getClickCount() == 2)) {
              view();
            }
            super.mouseClicked(e);
          }
        });

    mTabbedPane.addTab(
        mLocalizer.msg("personal", "Your Ratings"), new JScrollPane(mPersonalRatings));

    panel.add(mTabbedPane, BorderLayout.CENTER);

    JPanel buttonpanel = new JPanel(new GridBagLayout());

    GridBagConstraints c4 = new GridBagConstraints();
    c4.gridwidth = GridBagConstraints.REMAINDER;
    c4.fill = GridBagConstraints.HORIZONTAL;
    c4.weightx = 1;
    c4.anchor = GridBagConstraints.CENTER;

    LinkButton linkButton = new LinkButton("http://tvaddicted.de");
    buttonpanel.add(linkButton, c4);

    GridBagConstraints c = new GridBagConstraints();
    c.weightx = 0;
    c.fill = GridBagConstraints.NONE;
    c.insets = new Insets(5, 5, 5, 5);

    mBtnUpdate = new JButton(mLocalizer.msg("update", "Update"));
    buttonpanel.add(mBtnUpdate, c);
    mBtnUpdate.addActionListener(
        new java.awt.event.ActionListener() {

          public void actionPerformed(ActionEvent e) {
            update();
          }
        });

    GridBagConstraints c2 = new GridBagConstraints();
    c2.weightx = 1;
    c2.fill = GridBagConstraints.HORIZONTAL;

    buttonpanel.add(new JPanel(), c2);

    JButton view = new JButton(mLocalizer.msg("view", "View"));
    buttonpanel.add(view, c);
    view.addActionListener(
        new java.awt.event.ActionListener() {

          public void actionPerformed(ActionEvent e) {
            view();
          }
        });

    JButton close = new JButton(Localizer.getLocalization(Localizer.I18N_CLOSE));
    buttonpanel.add(close, c);
    close.addActionListener(
        new java.awt.event.ActionListener() {

          public void actionPerformed(ActionEvent e) {
            setVisible(false);
          }
        });

    getRootPane().setDefaultButton(close);

    panel.add(buttonpanel, BorderLayout.SOUTH);
  }
  public SettingsDialog(
      final Frame parent, final PrinterJob printerJob, Scheme[] schemes, DialogContent content) {
    super(parent, true);
    UiUtilities.registerForClosing(this);

    mDialogContent = content;
    mPageFormat = printerJob.defaultPage();
    setTitle(content.getDialogTitle());
    JPanel contentPane = (JPanel) getContentPane();
    contentPane.setBorder(BorderFactory.createEmptyBorder(4, 4, 5, 5));
    contentPane.setLayout(new BorderLayout());

    JPanel eastPanel = new JPanel(new BorderLayout());
    JPanel eastBtnPanel = new JPanel();
    eastBtnPanel.setBorder(BorderFactory.createEmptyBorder(0, 3, 0, 0));
    eastBtnPanel.setLayout(new GridLayout(-1, 1));

    JButton printerSetupBtn =
        new JButton(
            mLocalizer.ellipsisMsg("printer", "Printer"),
            PrintPlugin.getInstance().createImageIcon("devices", "printer", 16));
    JButton pageBtn =
        new JButton(
            mLocalizer.ellipsisMsg("page", "Page"),
            PrintPlugin.getInstance().createImageIcon("actions", "document-properties", 16));
    JButton previewBtn =
        new JButton(
            mLocalizer.ellipsisMsg("preview", "Preview"),
            PrintPlugin.getInstance().createImageIcon("actions", "document-print-preview", 16));

    printerSetupBtn.setHorizontalAlignment(SwingConstants.LEFT);
    pageBtn.setHorizontalAlignment(SwingConstants.LEFT);
    previewBtn.setHorizontalAlignment(SwingConstants.LEFT);

    eastBtnPanel.add(printerSetupBtn);
    eastBtnPanel.add(pageBtn);
    eastBtnPanel.add(previewBtn);
    eastPanel.add(eastBtnPanel, BorderLayout.NORTH);

    JPanel southPanel = new JPanel(new BorderLayout());
    JPanel okCancelBtnPanel = new JPanel(new FlowLayout());
    JButton printBt = new JButton(mLocalizer.msg("print", "Drucken"));
    JButton cancelBt = new JButton(Localizer.getLocalization(Localizer.I18N_CANCEL));
    okCancelBtnPanel.add(printBt);
    okCancelBtnPanel.add(cancelBt);
    southPanel.add(okCancelBtnPanel, BorderLayout.EAST);

    printerSetupBtn.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            Thread thread =
                new Thread("Printer setup") {
                  public void run() {
                    printerJob.printDialog();
                  }
                };
            thread.start();
          }
        });

    pageBtn.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            Thread thread =
                new Thread("Document properties (printing)") {
                  public void run() {
                    if (mPageFormat == null) {
                      mPageFormat = printerJob.defaultPage();
                    }
                    mPageFormat = printerJob.pageDialog(mPageFormat);
                  }
                };
            thread.start();
          }
        });

    previewBtn.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            printplugin.printer.PrintJob job = getPrintJob();
            if (job.getNumOfPages() == 0) {
              JOptionPane.showMessageDialog(
                  parent, mLocalizer.msg("noPagesToPrint", "Es sind keine Seiten zu drucken."));
            } else {
              PreviewDlg dlg =
                  new PreviewDlg(parent, job.getPrintable(), mPageFormat, job.getNumOfPages());

              PrintPlugin.getInstance().layoutWindow("previewDlg", dlg);

              dlg.setVisible(true);
            }
          }
        });

    printBt.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            mResult = OK;
            setVisible(false);
          }
        });

    cancelBt.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            close();
          }
        });

    JButton newSchemeBtn = new JButton(TVBrowserIcons.newIcon(TVBrowserIcons.SIZE_SMALL));
    newSchemeBtn.setToolTipText(mLocalizer.msg("newScheme", "New scheme"));
    mEditSchemeBtn = new JButton(TVBrowserIcons.edit(TVBrowserIcons.SIZE_SMALL));
    mEditSchemeBtn.setToolTipText(mLocalizer.msg("editScheme", "Edit scheme"));
    mDeleteSchemeBtn = new JButton(TVBrowserIcons.delete(TVBrowserIcons.SIZE_SMALL));
    mDeleteSchemeBtn.setToolTipText(mLocalizer.msg("deleteScheme", "Delete scheme"));
    mSaveSchemeBtn =
        new JButton(PrintPlugin.getInstance().createImageIcon("actions", "document-save", 16));
    mSaveSchemeBtn.setToolTipText(mLocalizer.msg("saveScheme", "Save scheme"));
    newSchemeBtn.setMargin(UiUtilities.ZERO_INSETS);
    mDeleteSchemeBtn.setMargin(UiUtilities.ZERO_INSETS);
    mEditSchemeBtn.setMargin(UiUtilities.ZERO_INSETS);
    mSaveSchemeBtn.setMargin(UiUtilities.ZERO_INSETS);
    mDeleteSchemeBtn.setEnabled(false);
    mEditSchemeBtn.setEnabled(false);

    newSchemeBtn.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            String newSchemeName =
                JOptionPane.showInputDialog(
                    parent,
                    mLocalizer.msg("enterNewSchemeName", "Enter new name for scheme:"),
                    mLocalizer.msg("newScheme", "New scheme"),
                    JOptionPane.PLAIN_MESSAGE);
            if (newSchemeName != null) {
              if (newSchemeName.trim().length() > 0) {
                Scheme newScheme = mDialogContent.createNewScheme(newSchemeName);
                newScheme.setSettings(mDialogContent.getSettings());
                mSchemeCBModel.addElement(newScheme);
                mSchemeCB.setSelectedItem(newScheme);
                mDialogContent.setSettings(newScheme.getSettings());
              } else {
                JOptionPane.showMessageDialog(
                    parent,
                    mLocalizer.msg("invalidSchemeMsg", "Invalid scheme name"),
                    mLocalizer.msg("invalidInput", "Invalid input"),
                    JOptionPane.INFORMATION_MESSAGE);
              }
            }
          }
        });

    mSaveSchemeBtn.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            Scheme scheme = (Scheme) mSchemeCB.getSelectedItem();
            scheme.setSettings(mDialogContent.getSettings());
          }
        });

    mEditSchemeBtn.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            Scheme scheme = (Scheme) mSchemeCB.getSelectedItem();
            Object newSchemeName =
                JOptionPane.showInputDialog(
                    parent,
                    mLocalizer.msg("enterNewSchemeName", "Enter new name for scheme:"),
                    mLocalizer.msg("editScheme", "Edit scheme"),
                    JOptionPane.PLAIN_MESSAGE,
                    null,
                    null,
                    scheme.getName());
            if (newSchemeName != null) {
              if (newSchemeName.toString().trim().length() > 0) {
                scheme.setName(newSchemeName.toString());
                mSchemeCB.repaint();
              } else {
                JOptionPane.showMessageDialog(
                    parent,
                    mLocalizer.msg("invalidSchemeMsg", "Invalid scheme name"),
                    mLocalizer.msg("invalidInput", "Invalid input"),
                    JOptionPane.INFORMATION_MESSAGE);
              }
            }
          }
        });

    mDeleteSchemeBtn.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            Scheme scheme = (Scheme) mSchemeCB.getSelectedItem();
            if (scheme != null) {
              if (JOptionPane.showConfirmDialog(
                      parent,
                      mLocalizer.msg(
                          "deleteSchemeMsg", "Do you want to delete the selected scheme?"),
                      mLocalizer.msg("deleteScheme", "Delete Scheme"),
                      JOptionPane.YES_NO_OPTION)
                  == JOptionPane.YES_OPTION) {
                mSchemeCBModel.removeElement(scheme);
                mSchemeCB.setSelectedIndex(0);
              }
            }
          }
        });

    mSchemeCBModel = new DefaultComboBoxModel(schemes);
    mSchemeCB = new JComboBox(mSchemeCBModel);
    JPanel schemePanel = new JPanel();
    schemePanel.add(mSchemeCB);
    schemePanel.add(newSchemeBtn);
    schemePanel.add(mEditSchemeBtn);
    schemePanel.add(mSaveSchemeBtn);
    schemePanel.add(mDeleteSchemeBtn);
    southPanel.add(schemePanel, BorderLayout.WEST);
    mSchemeCB.addItemListener(
        new ItemListener() {
          public void itemStateChanged(ItemEvent e) {
            mDeleteSchemeBtn.setEnabled(mSchemeCB.getSelectedIndex() != 0);
            mEditSchemeBtn.setEnabled(mSchemeCB.getSelectedIndex() != 0);
            Scheme scheme = (Scheme) mSchemeCB.getSelectedItem();
            mDialogContent.setSettings(scheme.getSettings());
          }
        });

    contentPane.add(eastPanel, BorderLayout.EAST);
    contentPane.add(southPanel, BorderLayout.SOUTH);
    contentPane.add(content.getContent(), BorderLayout.CENTER);

    content.setSettings(schemes[0].getSettings());

    if (mPageFormat == null) {
      mPageFormat = printerJob.defaultPage();
    }

    PrintPlugin.getInstance().layoutWindow("settingsDlg", this, new Dimension(450, 400));

    mResult = CANCEL;
  }