summaryrefslogtreecommitdiff
path: root/noncore/tools/opie-sh/inputdialog.cpp
Unidiff
Diffstat (limited to 'noncore/tools/opie-sh/inputdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/opie-sh/inputdialog.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/noncore/tools/opie-sh/inputdialog.cpp b/noncore/tools/opie-sh/inputdialog.cpp
index 8046795..1dd8bf7 100644
--- a/noncore/tools/opie-sh/inputdialog.cpp
+++ b/noncore/tools/opie-sh/inputdialog.cpp
@@ -1,118 +1,122 @@
1/* 1/*
2Opie-sh. convinience app to allow you to use qdialogs in scripts (mainly shell scripts) 2Opie-sh. convinience app to allow you to use qdialogs in scripts (mainly shell scripts)
3Copyright (C) 2002 Thomas Stephens 3Copyright (C) 2002 Thomas Stephens
4 4
5This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public 5This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public
6License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later 6License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later
7version. 7version.
8 8
9This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the 9This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
10implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 10implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11Public License for more details. 11Public License for more details.
12 12
13You should have received a copy of the GNU General Public License along with this program; if not, write to the Free 13You should have received a copy of the GNU General Public License along with this program; if not, write to the Free
14Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 14Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15*/ 15*/
16#include "inputdialog.h" 16#include "inputdialog.h"
17 17
18InputDialog::InputDialog(int w, int h, int newtype, QString labelString, QString title, QString filename, bool edit, QWidget *parent, const char *name, bool modal, WFlags f):QDialog(parent, name, modal, f) 18InputDialog::InputDialog(int w, int h, int newtype, QString labelString, QString title, QString filename, bool edit, QWidget *parent, const char *name, bool modal, WFlags f):QDialog(parent, name, modal, f)
19{ 19{
20 type = newtype; 20 type = newtype;
21 QHBoxLayout *layout = new QHBoxLayout(this); 21 QHBoxLayout *layout = new QHBoxLayout(this);
22 layout->addStrut(32); 22 layout->addStrut(32);
23 QLabel *label = new QLabel(labelString, this, "label"); 23 QLabel *label = new QLabel(labelString, this, "label");
24 setCaption(title); 24 setCaption(title);
25 int x, y; 25 int x, y;
26 26
27 layout->addSpacing(5); 27 layout->addSpacing(5);
28 layout->addWidget(label); 28 layout->addWidget(label);
29 layout->addSpacing(5); 29 layout->addSpacing(5);
30 30
31 switch(type) 31 switch(type)
32 { 32 {
33 case 0: 33 case 0:
34 lineEdit = new QLineEdit(this, "line edit"); 34 lineEdit = new QLineEdit(this, "line edit");
35 layout->addWidget(lineEdit); 35 layout->addWidget(lineEdit);
36 break; 36 break;
37 case 1: 37 case 1:
38 comboBox = new QComboBox(edit, this, "combo box"); 38 comboBox = new QComboBox(edit, this, "combo box");
39 layout->addWidget(comboBox); 39 layout->addWidget(comboBox);
40 if(!filename.isNull()) 40 if(!filename.isNull())
41 { 41 {
42 QFile file(filename); 42 QFile file(filename);
43 file.open(IO_ReadOnly); 43 if (file.open(IO_ReadOnly))
44 QTextStream stream(&file); 44 {
45 QString string = stream.read(); 45 QTextStream stream(&file);
46 QString string = stream.read();
46 47
47 comboBox->insertStringList(QStringList::split('\n', string)); 48 comboBox->insertStringList(QStringList::split('\n', string));
49 }
48 } 50 }
49 else 51 else
50 { 52 {
51 QFile file; 53 QFile file;
52 file.open(IO_ReadOnly, 0); 54 file.open(IO_ReadOnly, 0);
53 QTextStream stream(&file); 55 QTextStream stream(&file);
54 QString string = stream.read(); 56 QString string = stream.read();
55 57
56 comboBox->insertStringList(QStringList::split('\n', string)); 58 comboBox->insertStringList(QStringList::split('\n', string));
57 } 59 }
58 break; 60 break;
59 case 2: 61 case 2:
60 listBox = new QListBox(this, "list box"); 62 listBox = new QListBox(this, "list box");
61 listBox->setSelectionMode(QListBox::Multi); 63 listBox->setSelectionMode(QListBox::Multi);
62 layout->addWidget(listBox); 64 layout->addWidget(listBox);
63 if(!filename.isNull()) 65 if(!filename.isNull())
64 { 66 {
65 QFile file(filename); 67 QFile file(filename);
66 file.open(IO_ReadOnly); 68 if (file.open(IO_ReadOnly))
67 QTextStream stream(&file); 69 {
68 QString string = stream.read(); 70 QTextStream stream(&file);
71 QString string = stream.read();
69 72
70 listBox->insertStringList(QStringList::split('\n', string)); 73 listBox->insertStringList(QStringList::split('\n', string));
74 }
71 } 75 }
72 else 76 else
73 { 77 {
74 QFile file; 78 QFile file;
75 file.open(IO_ReadOnly, 0); 79 file.open(IO_ReadOnly, 0);
76 QTextStream stream(&file); 80 QTextStream stream(&file);
77 QString string = stream.read(); 81 QString string = stream.read();
78 82
79 listBox->insertStringList(QStringList::split('\n', string)); 83 listBox->insertStringList(QStringList::split('\n', string));
80 } 84 }
81 break; 85 break;
82 case 3: 86 case 3:
83 lineEdit = new QLineEdit(this, "line edit"); 87 lineEdit = new QLineEdit(this, "line edit");
84 lineEdit->setEchoMode(QLineEdit::Password); 88 lineEdit->setEchoMode(QLineEdit::Password);
85 layout->addWidget(lineEdit); 89 layout->addWidget(lineEdit);
86 break; 90 break;
87 } 91 }
88 layout->addSpacing(5); 92 layout->addSpacing(5);
89 93
90 x=(w/2)-(width()/2); 94 x=(w/2)-(width()/2);
91 y=(h/2)-(height()/2); 95 y=(h/2)-(height()/2);
92 96
93 move(x,y); 97 move(x,y);
94} 98}
95 99
96QString InputDialog::getString() 100QString InputDialog::getString()
97{ 101{
98 switch (type) 102 switch (type)
99 { 103 {
100 case 0: 104 case 0:
101 case 3: 105 case 3:
102 return ((QLineEdit *)child("line edit"))->text(); 106 return ((QLineEdit *)child("line edit"))->text();
103 break; 107 break;
104 case 1: 108 case 1:
105 return ((QComboBox *)child("combo box"))->currentText(); 109 return ((QComboBox *)child("combo box"))->currentText();
106 break; 110 break;
107 case 2: 111 case 2:
108 QString string; 112 QString string;
109 int i; 113 int i;
110 for(i = 0; i < listBox->count(); i++) 114 for(i = 0; i < listBox->count(); i++)
111 { 115 {
112 if(listBox->isSelected(i)) 116 if(listBox->isSelected(i))
113 { 117 {
114 string+=listBox->text(i)+'\n'; 118 string+=listBox->text(i)+'\n';
115 } 119 }
116 } 120 }
117 if(string[string.length()-1] == '\n') 121 if(string[string.length()-1] == '\n')
118 { 122 {