Skip to content

Commit 71e0433

Browse files
Linking one shared library into another
1 parent fe43c65 commit 71e0433

File tree

4 files changed

+35
-44
lines changed

4 files changed

+35
-44
lines changed

app/window.cpp

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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

125125
gpointer _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

143143
void 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

148148
void _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

194190
void _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

213209
void _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

218217
void ui_add_job_hold_until(char *startJobOption) {}

app/window.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
#include <QDebug>
1111

1212
extern "C" {
13-
#include "../backends/cups/src/CPD.h"
13+
#include <CPD.h>
1414
}
1515

1616
class QPrinter;
1717

18-
static int add_printer_callback(PrinterObj *p);
19-
static int remove_printer_callback(char *printer_name);
18+
static void add_printer_callback(PrinterObj *p);
19+
static void remove_printer_callback(char *printer_name);
2020
void ui_add_printer_aux(gpointer key, gpointer value, gpointer user_data);
2121

2222
typedef struct {
@@ -46,7 +46,7 @@ class _Window : public QWidget
4646
void addJobHoldUntil(char *startJobOption) {}
4747
void addPagesPerSize(char *pages) {}
4848
void updateAllOptions(const QString &printer);
49-
gpointer parse_commands(gpointer user_data);
49+
void parse_commands(Command cmd);
5050
gpointer ui_add_printer(gpointer user_data);
5151

5252
public Q_SLOTS:

backends/cups

Submodule cups updated from 1658259 to ab0d42c

common-print-dialog.pro

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,8 @@ unix {
1414
}
1515

1616
SOURCES += \
17-
app/preview.cpp \
1817
cpd.cpp \
1918
app/components.cpp \
20-
backends/cups/src/backend_interface.c \
21-
backends/cups/src/common_helper.c \
22-
backends/cups/src/frontend_helper.c \
23-
backends/cups/src/frontend_interface.c \
2419
app/window.cpp
2520

2621
RESOURCES += qml.qrc
@@ -53,15 +48,12 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
5348
!isEmpty(target.path): INSTALLS += target
5449

5550
HEADERS += \
56-
app/preview.h \
5751
cpd.h \
5852
cpd_global.h \
5953
app/components.h \
60-
backends/cups/release/headers/backend_interface.h \
61-
backends/cups/release/headers/common_helper.h \
62-
backends/cups/release/headers/CPD.h \
63-
backends/cups/release/headers/frontend_helper.h \
64-
backends/cups/release/headers/frontend_interface.h \
6554
app/window.h
6655

67-
#LIBS += -L/home/anshul/Dropbox/Documents/common-print-dialog/backends/cups/release/libs -lCPD -lCPDcore
56+
LIBS += -L/usr/lib/ -lCPDFrontend
57+
58+
INCLUDEPATH += $$PWD/backends/cups/release/headers
59+
DEPENDPATH += $$PWD/backends/cups/release/headers

0 commit comments

Comments
 (0)