00001
00002
00003 #include "commandeditdialog.h"
00004 #include "playlistselection.h"
00005
00006 #include <opie2/oresource.h>
00007
00008 #include <qpe/config.h>
00009
00010 #include <qapplication.h>
00011 #include <qtoolbutton.h>
00012 #include <qlineedit.h>
00013 #include <qheader.h>
00014 #include <qlabel.h>
00015 #include "smallcommandeditdialogbase.h"
00016
00017 CommandEditDialog::CommandEditDialog(QWidget *parent, const char* name, WFlags fl )
00018 : CommandEditDialogBase(parent, name, TRUE, fl)
00019
00020 {
00021 m_SuggestedCommandList->addColumn( tr("Command Selection") );
00022 m_SuggestedCommandList->header()->hide();
00023 m_SuggestedCommandList->setSorting(-1,FALSE);
00024 m_SuggestedCommandList->clearSelection();
00025 m_SuggestedCommandList->setSorting(0,TRUE);
00026 QListViewItem *item;
00027 item = new QListViewItem( m_SuggestedCommandList,"export ");
00028 item = new QListViewItem( m_SuggestedCommandList,"ifconfig ");
00029 item = new QListViewItem( m_SuggestedCommandList,"ipkg ");
00030 item = new QListViewItem( m_SuggestedCommandList,"gzip ");
00031 item = new QListViewItem( m_SuggestedCommandList,"gunzip ");
00032 item = new QListViewItem( m_SuggestedCommandList,"chgrp ");
00033 item = new QListViewItem( m_SuggestedCommandList,"chown ");
00034 item = new QListViewItem( m_SuggestedCommandList,"date ");
00035 item = new QListViewItem( m_SuggestedCommandList,"dd ");
00036 item = new QListViewItem( m_SuggestedCommandList,"dmesg ");
00037 item = new QListViewItem( m_SuggestedCommandList,"fuser ");
00038 item = new QListViewItem( m_SuggestedCommandList,"hostname ");
00039 item = new QListViewItem( m_SuggestedCommandList,"kill ");
00040 item = new QListViewItem( m_SuggestedCommandList,"killall ");
00041 item = new QListViewItem( m_SuggestedCommandList,"ln ");
00042 item = new QListViewItem( m_SuggestedCommandList,"ln -s ");
00043 item = new QListViewItem( m_SuggestedCommandList,"lsmod");
00044 item = new QListViewItem( m_SuggestedCommandList,"depmod -a");
00045 item = new QListViewItem( m_SuggestedCommandList,"modprobe ");
00046 item = new QListViewItem( m_SuggestedCommandList,"mount ");
00047 item = new QListViewItem( m_SuggestedCommandList,"more ");
00048 item = new QListViewItem( m_SuggestedCommandList,"sort ");
00049 item = new QListViewItem( m_SuggestedCommandList,"touch ");
00050 item = new QListViewItem( m_SuggestedCommandList,"umount ");
00051 item = new QListViewItem( m_SuggestedCommandList,"mknod ");
00052 item = new QListViewItem( m_SuggestedCommandList,"netstat ");
00053 item = new QListViewItem( m_SuggestedCommandList,"route ");
00054 item = new QListViewItem( m_SuggestedCommandList,"cardctl eject ");
00055 m_SuggestedCommandList->setSelected(m_SuggestedCommandList->firstChild(),TRUE);
00056 m_SuggestedCommandList->sort();
00057
00058 connect( m_SuggestedCommandList, SIGNAL( clicked(QListViewItem*) ), m_PlayListSelection, SLOT( addToSelection(QListViewItem*) ) );
00059
00060 bool bigPixmaps = qApp->desktop()->size().width()>330;
00061
00062 ToolButton1->setTextLabel("new");
00063 ToolButton1->setUsesBigPixmap( bigPixmaps );
00064 ToolButton1->setPixmap( Opie::Core::OResource::loadPixmap( "new", Opie::Core::OResource::SmallIcon ) );
00065 ToolButton1->setAutoRaise(TRUE);
00066 ToolButton1->setFocusPolicy(QWidget::NoFocus);
00067 connect(ToolButton1,SIGNAL(clicked()),this,SLOT(showAddDialog()));
00068
00069 ToolButton2->setTextLabel("edit");
00070 ToolButton2->setUsesBigPixmap( bigPixmaps );
00071 ToolButton2->setPixmap( Opie::Core::OResource::loadPixmap( "edit", Opie::Core::OResource::SmallIcon ) );
00072 ToolButton2->setAutoRaise(TRUE);
00073 ToolButton2->setFocusPolicy(QWidget::NoFocus);
00074 connect(ToolButton2,SIGNAL(clicked()),this,SLOT(showEditDialog()));
00075
00076 ToolButton3->setTextLabel("delete");
00077 ToolButton3->setUsesBigPixmap( bigPixmaps );
00078 ToolButton3->setPixmap( Opie::Core::OResource::loadPixmap( "editdelete", Opie::Core::OResource::SmallIcon ) );
00079 ToolButton3->setAutoRaise(TRUE);
00080 ToolButton3->setFocusPolicy(QWidget::NoFocus);
00081 connect(ToolButton3,SIGNAL(clicked()),m_PlayListSelection,SLOT(removeSelected()));
00082
00083 ToolButton4->setTextLabel("up");
00084 ToolButton4->setUsesBigPixmap( bigPixmaps );
00085 ToolButton4->setPixmap( Opie::Core::OResource::loadPixmap( "up", Opie::Core::OResource::SmallIcon ) );
00086 ToolButton4->setAutoRaise(TRUE);
00087 ToolButton4->setFocusPolicy(QWidget::NoFocus);
00088 connect(ToolButton4,SIGNAL(clicked()),m_PlayListSelection,SLOT(moveSelectedUp()));
00089
00090 ToolButton5->setTextLabel("down");
00091 ToolButton5->setUsesBigPixmap( bigPixmaps );
00092 ToolButton5->setPixmap( Opie::Core::OResource::loadPixmap( "down", Opie::Core::OResource::SmallIcon ) );
00093 ToolButton5->setAutoRaise(TRUE);
00094 ToolButton5->setFocusPolicy(QWidget::NoFocus);
00095
00096 connect(ToolButton5,SIGNAL(clicked()),m_PlayListSelection,SLOT(moveSelectedDown()));
00097
00098
00099
00100
00101 QListViewItem *current = m_SuggestedCommandList->selectedItem();
00102 if ( current )
00103 item->moveItem( current );
00104 m_SuggestedCommandList->setSelected( item, TRUE );
00105 m_SuggestedCommandList->ensureItemVisible( m_SuggestedCommandList->selectedItem() );
00106 Config cfg( "Konsole" );
00107 cfg.setGroup("Commands");
00108 if (cfg.readEntry("Commands Set","FALSE") == "TRUE") {
00109 for (int i = 0; i < 100; i++) {
00110 QString tmp;
00111 tmp = cfg.readEntry( QString::number(i),"");
00112 if (!tmp.isEmpty())
00113 m_PlayListSelection->addStringToSelection(tmp);
00114 }
00115 } else {
00116
00117 m_PlayListSelection->addStringToSelection("ls ");
00118 m_PlayListSelection->addStringToSelection("cardctl eject");
00119 m_PlayListSelection->addStringToSelection("cat ");
00120 m_PlayListSelection->addStringToSelection("cd ");
00121 m_PlayListSelection->addStringToSelection("chmod ");
00122 m_PlayListSelection->addStringToSelection("cp ");
00123 m_PlayListSelection->addStringToSelection("dc ");
00124 m_PlayListSelection->addStringToSelection("df ");
00125 m_PlayListSelection->addStringToSelection("dmesg");
00126 m_PlayListSelection->addStringToSelection("echo ");
00127 m_PlayListSelection->addStringToSelection("env");
00128 m_PlayListSelection->addStringToSelection("find ");
00129 m_PlayListSelection->addStringToSelection("free");
00130 m_PlayListSelection->addStringToSelection("grep ");
00131 m_PlayListSelection->addStringToSelection("ifconfig ");
00132 m_PlayListSelection->addStringToSelection("ipkg ");
00133 m_PlayListSelection->addStringToSelection("mkdir ");
00134 m_PlayListSelection->addStringToSelection("mv ");
00135 m_PlayListSelection->addStringToSelection("nc localhost 7776");
00136 m_PlayListSelection->addStringToSelection("nc localhost 7777");
00137 m_PlayListSelection->addStringToSelection("nslookup ");
00138 m_PlayListSelection->addStringToSelection("ping ");
00139 m_PlayListSelection->addStringToSelection("ps aux");
00140 m_PlayListSelection->addStringToSelection("pwd ");
00141 m_PlayListSelection->addStringToSelection("rm ");
00142 m_PlayListSelection->addStringToSelection("rmdir ");
00143 m_PlayListSelection->addStringToSelection("route ");
00144 m_PlayListSelection->addStringToSelection("set ");
00145 m_PlayListSelection->addStringToSelection("traceroute");
00146
00147 }
00148 }
00149 CommandEditDialog::~CommandEditDialog()
00150 {
00151 }
00152
00153 void CommandEditDialog::accept()
00154 {
00155 int i = 0;
00156 Config *cfg = new Config("Konsole");
00157 cfg->setGroup("Commands");
00158 cfg->clearGroup();
00159
00160 QListViewItemIterator it( m_PlayListSelection );
00161
00162 for ( ; it.current(); ++it ) {
00163
00164 cfg->writeEntry(QString::number(i),it.current()->text(0));
00165 i++;
00166
00167 }
00168 cfg->writeEntry("Commands Set","TRUE");
00169
00170 delete cfg;
00171 emit commandsEdited();
00172 close();
00173
00174
00175
00176
00177
00178 }
00179
00180 void CommandEditDialog::showEditDialog()
00181 {
00182 editCommandBase *d = new editCommandBase(this,"smalleditdialog", TRUE);
00183 d->setCaption("Edit command");
00184 d->TextLabel->setText("Edit command:");
00185 d->commandEdit->setText(m_PlayListSelection->currentItem()->text(0));
00186 int i = d->exec();
00187 if ((i==1) && (!(d->commandEdit->text()).isEmpty()))
00188 m_PlayListSelection->currentItem()->setText(0,(d->commandEdit->text()));
00189 }
00190
00191 void CommandEditDialog::showAddDialog()
00192 {
00193
00194 editCommandBase *d = new editCommandBase(this,"smalleditdialog", TRUE);
00195 int i = d->exec();
00196 if ((i==1) && (!(d->commandEdit->text()).isEmpty()))
00197 m_PlayListSelection->addStringToSelection(d->commandEdit->text());
00198
00199 }
00200