@@ -4,11 +4,11 @@ _Window *_window;
44
55_Window::_Window (QPrinter *printer, QWidget *parent) :
66 QWidget(parent),
7- masterLayout(new QGridLayout(this )),
87 tabs(new Tabs(this )),
98 root(new Root(this )),
109 preview(new Preview(printer, this )),
11- controls(new Controls(this ))
10+ controls(new Controls(this )),
11+ masterLayout(new QGridLayout(this ))
1212{
1313 /*
1414 * masterLayout
@@ -111,15 +111,15 @@ void _Window::cancelButtonClicked()
111111 exit (0 );
112112}
113113
114- static int add_printer_callback (PrinterObj *p)
114+ static void add_printer_callback (PrinterObj *p)
115115{
116116 // qDebug() << "Printer" << p->name << "added!";
117117 _window->addPrinter (p->name );
118118}
119119
120- static int remove_printer_callback (char *printer_name)
120+ static void remove_printer_callback (char *printer_name)
121121{
122- qDebug () << " Printer" << printer_name << " removed!" ;
122+ qDebug () << " Printer" << printer_name << " removed! callback " ;
123123}
124124
125125gpointer _Window::ui_add_printer (gpointer user_data)
@@ -135,14 +135,14 @@ gpointer _Window::ui_add_printer(gpointer user_data)
135135 cmd.command = " unhide-remote-cups" ;
136136 else
137137 cmd.command = " hide-remote-cups" ;
138- parse_commands (& cmd);
138+ parse_commands (cmd);
139139 clearPrinters ();
140140 g_hash_table_foreach (f->printer , ui_add_printer_aux, NULL );
141141}
142142
143143void ui_add_printer_aux (gpointer key, gpointer value, gpointer user_data)
144144{
145- _window->addPrinter (( const char *) key);
145+ _window->addPrinter (static_cast < const char *>( key) );
146146}
147147
148148void _Window::addPrinter (const char *printer)
@@ -156,27 +156,26 @@ void _Window::addPrinter(const char *printer)
156156 qDebug () << " generalObject Not Found" ;
157157}
158158
159- gpointer _Window::parse_commands (gpointer user_data )
159+ void _Window::parse_commands (Command cmd )
160160{
161- Command *cmd = (Command *)user_data;
162- if (cmd->command .compare (" hide-remote-cups" ) == 0 )
161+ if (cmd.command .compare (" hide-remote-cups" ) == 0 )
163162 hide_remote_cups_printers (f);
164- else if (cmd-> command .compare (" unhide-remote-cups" ) == 0 )
163+ else if (cmd. command .compare (" unhide-remote-cups" ) == 0 )
165164 unhide_remote_cups_printers (f);
166- else if (cmd-> command .compare (" get-all-options" ) == 0 ) {
165+ else if (cmd. command .compare (" get-all-options" ) == 0 ) {
167166 char printerName[300 ];
168- strcpy (printerName, cmd-> arg1 .c_str ());
167+ strcpy (printerName, cmd. arg1 .c_str ());
169168 Options *options = get_all_printer_options (_window->f , printerName, " CUPS" );
170- for (int i = 0 ; i < options->count ; i++) {
171- GHashTableIter iterator;
172- g_hash_table_iter_init (&iterator, options->table );
173- GList *keys = g_hash_table_get_keys (options->table );
174- qDebug () << (char *)keys->data ;
175- // for (int j = 0; j < options[0][i].num_supported; j++)
176- // qDebug() << options[0][i].supported_values[j];
177- // qDebug() << "-----------";
169+ GHashTableIter iterator;
170+ g_hash_table_iter_init (&iterator, options->table );
171+ gpointer _key, _value;
172+ while (g_hash_table_iter_next (&iterator, &_key, &_value)) {
173+ char *key = (char *)_key;
174+ Option *value = (Option *)_value;
175+ if (strcmp (key, " media" ) == 0 ) {
176+ qDebug () << " 123media" ;
177+ }
178178 }
179-
180179 }
181180}
182181
@@ -185,10 +184,7 @@ void _Window::init_backend()
185184 event_callback add_cb = (event_callback)add_printer_callback;
186185 event_callback rem_cb = (event_callback)remove_printer_callback;
187186 f = get_new_FrontendObj (NULL , add_cb, rem_cb);
188- // bool enabled = true;
189- // g_thread_new("add_printer_thread", (GThreadFunc)ui_add_printer, &enabled);
190187 connect_to_dbus (f);
191- // ui_add_printer(&enabled);
192188}
193189
194190void _Window::clearPrinters ()
@@ -207,12 +203,15 @@ void _Window::newPrinterSelected(const QString &printer)
207203 cmd.command = " get-all-options" ;
208204 cmd.arg1 = printer.toStdString ();
209205 if (cmd.arg1 .compare (" " ) != 0 )
210- parse_commands (& cmd);
206+ parse_commands (cmd);
211207}
212208
213209void _Window::remotePrintersToggled (const QString &enabled)
214210{
215- qDebug () << enabled;
211+ bool toggle = enabled.compare (" true" ) == 0 ? true : false ;
212+ Command cmd;
213+ cmd.command = toggle ? " unhide-remote-cups" : " hide-remote-cups" ;
214+ parse_commands (cmd);
216215}
217216
218217void ui_add_job_hold_until (char *startJobOption) {}
0 commit comments