--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2004 J�r�me N�gre.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.jnegre.org/cpl1_0.html
+ *
+ * Contributors:
+ * J�r�me N�gre - initial API and implementation
+ *******************************************************************************/
+
+/*
+ * Created on 19 d�c. 2004
+ */
+package net.sourceforge.phpeclipse.news.dialogs;
+
+import java.util.ArrayList;
+
+import net.sourceforge.phpeclipse.news.Channel;
+import net.sourceforge.phpeclipse.news.Plugin;
+import net.sourceforge.phpeclipse.news.pref.ChannelStore;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * @author J�r�me N�gre
+ */
+public class NewChannelDialog extends Dialog {
+
+ private Text titleText;
+ private Text urlText;
+
+ /**
+ * @param parentShell
+ */
+ public NewChannelDialog(Shell parentShell) {
+ super(parentShell);
+ setShellStyle(SWT.DIALOG_TRIM|SWT.RESIZE);
+ }
+
+ protected Control createDialogArea(Composite parent) {
+ Composite composite = (Composite)super.createDialogArea(parent);
+ GridLayout layout = new GridLayout(2,false);
+ composite.setLayout(layout);
+ //composite.setBackground(composite.getDisplay().getSystemColor(SWT.COLOR_CYAN));
+
+ Label label = new Label(composite, SWT.NONE);
+ label.setText("Title: ");
+ titleText = new Text(composite, SWT.BORDER);
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ titleText.setLayoutData(gd);
+
+ label = new Label(composite, SWT.NONE);
+ label.setText("Url: ");
+ urlText = new Text(composite, SWT.BORDER);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ urlText.setLayoutData(gd);
+
+ return composite;
+ }
+
+ protected void configureShell(Shell newShell) {
+ super.configureShell(newShell);
+ newShell.setText("Add New Channel");
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#okPressed()
+ */
+ protected void okPressed() {
+ Channel channel = new Channel(titleText.getText(), urlText.getText());
+ ArrayList channels = Plugin.getDefault().getChannelList();
+ ChannelStore.saveReadStatus(channels);
+ channels.add(channel);
+ ChannelStore.setChannels(channels);
+ Plugin.getDefault().updateChannelList();
+ Plugin.getDefault().update();
+ this.close();
+ }
+
+}