Diffstat (limited to 'noncore/tools/opie-sh/inputdialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/tools/opie-sh/inputdialog.cpp | 20 |
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 | /* |
2 | Opie-sh. convinience app to allow you to use qdialogs in scripts (mainly shell scripts) | 2 | Opie-sh. convinience app to allow you to use qdialogs in scripts (mainly shell scripts) |
3 | Copyright (C) 2002 Thomas Stephens | 3 | Copyright (C) 2002 Thomas Stephens |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public | 5 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public |
6 | License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later | 6 | License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later |
7 | version. | 7 | version. |
8 | 8 | ||
9 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the | 9 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the |
10 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | 10 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
11 | Public License for more details. | 11 | Public License for more details. |
12 | 12 | ||
13 | You should have received a copy of the GNU General Public License along with this program; if not, write to the Free | 13 | You should have received a copy of the GNU General Public License along with this program; if not, write to the Free |
14 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 14 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
15 | */ | 15 | */ |
16 | #include "inputdialog.h" | 16 | #include "inputdialog.h" |
17 | 17 | ||
18 | InputDialog::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) | 18 | InputDialog::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 | ||
96 | QString InputDialog::getString() | 100 | QString 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 | { |