1- #include " window.h"
2-
3- _Window *_window;
1+ #include " QCPDialog.h"
2+ #include < QGridLayout>
3+ #include < QQuickItem>
4+ #include " components.h"
5+ #include < CPD.h>
6+
7+ namespace {
8+ struct Command {
9+ std::string command;
10+ std::string arg1;
11+ std::string arg2;
12+ };
13+ QCPDialog *qcpdialog;
14+ }
415
5- _Window::_Window (QPrinter *printer, QWidget *parent) :
6- QWidget( parent),
16+ QCPDialog::QCPDialog (QPrinter *printer, QWidget *parent) :
17+ QAbstractPrintDialog (printer, parent),
718 tabs(new Tabs(this )),
819 root(new Root(this )),
920 preview(new Preview(printer, this )),
@@ -92,60 +103,44 @@ _Window::_Window(QPrinter *printer, QWidget *parent) :
92103CPrintDialog::CPrintDialog (QPrinter *printer, QWidget *parent) :
93104 QAbstractPrintDialog(printer, parent)
94105{
95- _window = new _Window (printer, parent);
96- _window ->show ();
106+ qcpdialog = new QCPDialog (printer, parent);
107+ qcpdialog ->show ();
97108}
98109
99- void _Window ::tabBarIndexChanged (qint32 index)
110+ void QCPDialog ::tabBarIndexChanged (qint32 index)
100111{
101112 root->rootObject ->setProperty (" index" , index);
102113}
103114
104- void _Window ::swipeViewIndexChanged (qint32 index)
115+ void QCPDialog ::swipeViewIndexChanged (qint32 index)
105116{
106117 tabs->rootObject ->setProperty (" index" , index);
107118}
108119
109- void _Window ::cancelButtonClicked ()
120+ void QCPDialog ::cancelButtonClicked ()
110121{
111122 exit (0 );
112123}
113124
114125static void add_printer_callback (PrinterObj *p)
115126{
116127 // qDebug() << "Printer" << p->name << "added!";
117- _window ->addPrinter (p->name );
128+ qcpdialog ->addPrinter (p->name );
118129}
119130
120131static void remove_printer_callback (char *printer_name)
121132{
122133 qDebug () << " Printer" << printer_name << " removed! callback" ;
123134}
124135
125- gpointer _Window::ui_add_printer (gpointer user_data)
126- {
127- /*
128- * Need this delay so that the FrontendObj
129- * initialization completes
130- */
131- bool *enabled = (bool *)user_data;
132- for (int i = 0 ; i < 100000000 ; i++);
133- Command cmd;
134- if (*enabled)
135- cmd.command = " unhide-remote-cups" ;
136- else
137- cmd.command = " hide-remote-cups" ;
138- parse_commands (cmd);
139- clearPrinters ();
140- g_hash_table_foreach (f->printer , ui_add_printer_aux, NULL );
141- }
142-
143136void ui_add_printer_aux (gpointer key, gpointer value, gpointer user_data)
144137{
145- _window->addPrinter (static_cast <const char *>(key));
138+ Q_UNUSED (value);
139+ Q_UNUSED (user_data);
140+ qcpdialog->addPrinter (static_cast <const char *>(key));
146141}
147142
148- void _Window ::addPrinter (const char *printer)
143+ void QCPDialog ::addPrinter (const char *printer)
149144{
150145 QObject *obj = root->rootObject ->findChild <QObject *>(" generalObject" );
151146 if (obj) {
@@ -156,16 +151,17 @@ void _Window::addPrinter(const char *printer)
156151 qDebug () << " generalObject Not Found" ;
157152}
158153
159- void _Window ::parse_commands (Command cmd )
154+ void QCPDialog ::parse_commands (gpointer user_data )
160155{
161- if (cmd.command .compare (" hide-remote-cups" ) == 0 )
156+ Command *cmd = (Command *)user_data;
157+ if (cmd->command .compare (" hide-remote-cups" ) == 0 )
162158 hide_remote_cups_printers (f);
163- else if (cmd. command .compare (" unhide-remote-cups" ) == 0 )
159+ else if (cmd-> command .compare (" unhide-remote-cups" ) == 0 )
164160 unhide_remote_cups_printers (f);
165- else if (cmd. command .compare (" get-all-options" ) == 0 ) {
161+ else if (cmd-> command .compare (" get-all-options" ) == 0 ) {
166162 char printerName[300 ];
167- strcpy (printerName, cmd. arg1 .c_str ());
168- Options *options = get_all_printer_options (_window ->f , printerName, " CUPS" );
163+ strcpy (printerName, cmd-> arg1 .c_str ());
164+ Options *options = get_all_printer_options (qcpdialog ->f , printerName, ( char *) " CUPS" );
169165 GHashTableIter iterator;
170166 g_hash_table_iter_init (&iterator, options->table );
171167 gpointer _key, _value;
@@ -179,15 +175,15 @@ void _Window::parse_commands(Command cmd)
179175 }
180176}
181177
182- void _Window ::init_backend ()
178+ void QCPDialog ::init_backend ()
183179{
184180 event_callback add_cb = (event_callback)add_printer_callback;
185181 event_callback rem_cb = (event_callback)remove_printer_callback;
186182 f = get_new_FrontendObj (NULL , add_cb, rem_cb);
187183 connect_to_dbus (f);
188184}
189185
190- void _Window ::clearPrinters ()
186+ void QCPDialog ::clearPrinters ()
191187{
192188 QObject *obj = root->rootObject ->findChild <QObject *>(" generalObject" );
193189 if (obj) {
@@ -197,21 +193,18 @@ void _Window::clearPrinters()
197193 qDebug () << " generalObject Not Found" ;
198194}
199195
200- void _Window ::newPrinterSelected (const QString &printer)
196+ void QCPDialog ::newPrinterSelected (const QString &printer)
201197{
202- Command cmd;
203- cmd.command = " get-all-options" ;
204- cmd.arg1 = printer.toStdString ();
205- if (cmd.arg1 .compare (" " ) != 0 )
206- parse_commands (cmd);
198+ Options *options = get_all_printer_options (f, printer.toLatin1 ().data (), " CUPS" );
199+ qDebug () << " Total Options:" << options->count ;
207200}
208201
209- void _Window ::remotePrintersToggled (const QString &enabled)
202+ void QCPDialog ::remotePrintersToggled (const QString &enabled)
210203{
211204 bool toggle = enabled.compare (" true" ) == 0 ? true : false ;
212205 Command cmd;
213206 cmd.command = toggle ? " unhide-remote-cups" : " hide-remote-cups" ;
214- parse_commands (cmd);
207+ parse_commands (& cmd);
215208}
216209
217210void ui_add_job_hold_until (char *startJobOption) {}
0 commit comments