configview: replace Qt3-compatibility-classes with Qt4-classes
[opensuse:qinternet.git] / src / configview.cpp
1
2 /***************************************************************************
3  *                                                                         *
4  *   Copyright: SuSE Linux AG, Nuernberg                                   *
5  *                                                                         *
6  *   Author: Arvin Schnell <arvin@suse.de>                                 *
7  *                                                                         *
8  ***************************************************************************/
9
10 /***************************************************************************
11  *                                                                         *
12  *   This program is free software; you can redistribute it and/or modify  *
13  *   it under the terms of the GNU General Public License as published by  *
14  *   the Free Software Foundation; either version 2 of the License, or     *
15  *   (at your option) any later version.                                   *
16  *                                                                         *
17  ***************************************************************************/
18
19
20 #include <stdio.h>
21 #include <stdlib.h>
22
23 #include <QVBoxLayout>
24 #include <QHeaderView>
25 #include <qlabel.h>
26 //Added by qt3to4:
27 #include <QCloseEvent>
28 #include <QLayout>
29
30 #include "configview.h"
31 #include "parse.h"
32 #include "utils.h"
33 #include "debug.h"
34
35
36 ConfigviewDlg::ConfigviewDlg (QWidget* parent, const char* name)
37     : QDialog (parent, name)
38 {
39     //desc: dialog title
40     setCaption (mycaption (i18n ("Configuration")));
41
42     resize (300, 450);
43
44     QVBoxLayout* layout = new QVBoxLayout (this);
45     layout->setMargin (10);
46     layout->setSpacing (10);
47     
48     QLabel* label = new QLabel (i18n ("Configuration of the selected interface\n"
49                       "and provider:"), this);
50     layout->addWidget (label);
51
52     tablewidget = new QTableWidget (this);
53     tablewidget->setShowGrid (false);
54     tablewidget->setColumnCount (2);
55     QStringList headerlabels;
56     headerlabels << i18n ("Parameter") << i18n ("Value");
57     tablewidget->setHorizontalHeaderLabels (headerlabels);
58     tablewidget->verticalHeader()->setResizeMode (QHeaderView::ResizeToContents);
59     tablewidget->verticalHeader()->setVisible(false);
60     tablewidget->setSelectionBehavior (QAbstractItemView::SelectRows);
61     tablewidget->setSelectionMode (QAbstractItemView::NoSelection);
62     tablewidget->setMinimumSize (200, 200);
63     layout->addWidget (tablewidget);
64
65     close_button = new QPushButton (i18n ("Close"), this);
66     layout->addWidget (close_button);
67     close_button->setFocus ();
68     connect (close_button, SIGNAL (clicked ()), this, SLOT (closed ()));
69 }
70
71
72 ConfigviewDlg::~ConfigviewDlg ()
73 {
74     debug(3, "");
75
76     emit deleted ();
77 }
78
79
80 void
81 ConfigviewDlg::closed ()
82 {
83     delete this;
84 }
85
86
87 void
88 ConfigviewDlg::closeEvent (QCloseEvent* event)
89 {
90     event->ignore ();
91     delete this;
92 }
93
94
95 void
96 ConfigviewDlg::update_new (const QStringList& lines)
97 {
98     tablewidget->clearContents ();
99     tablewidget->setRowCount (0);
100
101     for (QStringList::ConstIterator iter = lines.constBegin ();
102          iter != lines.constEnd (); ++iter)
103     {
104         QStringList tmp;
105         if (parse_values (*iter, &tmp) != 2)
106             continue;
107
108         tablewidget->setRowCount (tablewidget->rowCount()+1);
109         tablewidget->setItem (tablewidget->rowCount()-1, 0, new QTableWidgetItem (tmp.at(0)));
110         tablewidget->setItem (tablewidget->rowCount()-1, 1, new QTableWidgetItem (tmp.at(1)));
111         tablewidget->horizontalHeader()->resizeSections (QHeaderView::Stretch);
112     }
113 }
114
115
116 void
117 ConfigviewDlg::update_old (const QStringList& lines)
118 {
119     tablewidget->clearContents ();
120     tablewidget->setRowCount (0);
121
122     for (QStringList::ConstIterator iter = lines.constBegin ();
123          iter != lines.constEnd (); ++iter)
124     {
125         QString line = QString::fromUtf8 (*iter);
126
127         int p = line.find ('=');
128         if (p == -1)
129             continue;
130
131         QString key = line.left (p).stripWhiteSpace ();
132         QString value = line.mid (p + 1).stripWhiteSpace ();
133
134         tablewidget->setRowCount (tablewidget->rowCount()+1);
135         tablewidget->setItem (tablewidget->rowCount()-1, 0, new QTableWidgetItem (key));
136         tablewidget->setItem (tablewidget->rowCount()-1, 1, new QTableWidgetItem (value));
137         tablewidget->horizontalHeader()->resizeSections (QHeaderView::Stretch);
138     }
139 }
140
141
142 #include "configview.moc"