Skip to content

Commit f72be1a

Browse files
Removing backend modified functions. Have some bugs
1 parent 256b73d commit f72be1a

File tree

7 files changed

+73
-48
lines changed

7 files changed

+73
-48
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@
44
[submodule "backends/gcp"]
55
path = backends/gcp
66
url = https://github.com/anshulgupta0803/gcp-backend.git
7+
[submodule "backends/interface"]
8+
path = backends/interface
9+
url = https://github.com/anshulgupta0803/cpd-interface-files.git

app/General.qml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,6 @@ RowLayout {
6161

6262
ListModel {
6363
id: destinationModel
64-
ListElement {
65-
destination: "A-Very-Long-Random-Name-Of-A-Printer-From-CUPS"
66-
}
67-
68-
ListElement {
69-
destination: "Short-Name"
70-
}
7164
}
7265

7366
ComboBox {
@@ -86,7 +79,6 @@ RowLayout {
8679
}
8780

8881
onCurrentIndexChanged: {
89-
//console.log(destinationComboBox.textAt(destinationComboBox.currentIndex))
9082
newPrinterSelected(destinationComboBox.textAt(destinationComboBox.currentIndex))
9183
}
9284
}

app/window.cpp

Lines changed: 50 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,18 @@ _Window::_Window(QPrinter *printer, QWidget *parent) :
4646
preview,
4747
SLOT(showPrevPage()));
4848

49+
QObject* generalObject = root->rootObject->findChild<QObject*>("generalObject");
50+
51+
QObject::connect(generalObject,
52+
SIGNAL(newPrinterSelected(QString)),
53+
this,
54+
SLOT(newPrinterSelected(QString)));
55+
56+
QObject::connect(generalObject,
57+
SIGNAL(remotePrintersToggled(QString)),
58+
this,
59+
SLOT(remotePrintersToggled(QString)));
60+
4961
tabs->setMinimumSize(700, 32);
5062

5163
root->setMinimumSize(320, 408);
@@ -97,11 +109,12 @@ void _Window::cancelButtonClicked() {
97109
}
98110

99111
static int add_printer_callback(PrinterObj *p) {
100-
printf("print_frontend.c : Printer %s added!\n", p->name);
112+
//qDebug() << "Printer" << p->name << "added!";
113+
_window->addPrinter(p->name);
101114
}
102115

103116
static int remove_printer_callback(char *printer_name) {
104-
printf("print_frontend.c : Printer %s removed!\n", printer_name);
117+
qDebug() << "Printer" << printer_name << "removed!";
105118
}
106119

107120
gpointer _Window::ui_add_printer(gpointer user_data) {
@@ -112,21 +125,17 @@ gpointer _Window::ui_add_printer(gpointer user_data) {
112125
bool* enabled = (bool*)user_data;
113126
for (int i = 0; i < 100000000; i++);
114127
Command cmd;
115-
if (*enabled) {
128+
if (*enabled)
116129
cmd.command = "unhide-remote-cups";
117-
parse_commands(&cmd);
118-
}
119-
else {
130+
else
120131
cmd.command = "hide-remote-cups";
121-
parse_commands(&cmd);
122-
}
132+
parse_commands(&cmd);
123133
clearPrinters();
124134
g_hash_table_foreach(f->printer, ui_add_printer_aux, NULL);
125135
}
126136

127137
void ui_add_printer_aux(gpointer key, gpointer value, gpointer user_data) {
128138
_window->addPrinter((const char*)key);
129-
qDebug() << "Added" << (const char*)key;
130139
}
131140

132141
void _Window::addPrinter(const char *printer) {
@@ -149,30 +158,50 @@ gpointer _Window::parse_commands(gpointer user_data) {
149158
else if (cmd->command.compare("get-all-options") == 0) {
150159
char printerName[300];
151160
strcpy(printerName, cmd->arg1.c_str());
152-
get_all_printer_options(_window->f, printerName);
161+
Options *options = get_all_printer_options(_window->f, printerName, "CUPS");
162+
for (int i = 0; i < options->count; i++) {
163+
GHashTableIter iterator;
164+
g_hash_table_iter_init(&iterator, options->table);
165+
GList *keys = g_hash_table_get_keys(options->table);
166+
qDebug() << (char *)keys->data;
167+
// for (int j = 0; j < options[0][i].num_supported; j++)
168+
// qDebug() << options[0][i].supported_values[j];
169+
// qDebug() << "-----------";
170+
}
171+
153172
}
154173
}
155174

156175
void _Window::init_backend() {
157176
event_callback add_cb = (event_callback)add_printer_callback;
158177
event_callback rem_cb = (event_callback)remove_printer_callback;
159178
f = get_new_FrontendObj(NULL, add_cb, rem_cb);
160-
bool enabled = true;
179+
//bool enabled = true;
161180
//g_thread_new("add_printer_thread", (GThreadFunc)ui_add_printer, &enabled);
162-
ui_add_printer(&enabled);
163181
connect_to_dbus(f);
164-
loop = g_main_loop_new(NULL, FALSE);
165-
//g_main_loop_run(loop);
182+
//ui_add_printer(&enabled);
166183
}
167184

168185
void _Window::clearPrinters() {
169-
// QObject* obj = root->rootObject->findChild<QObject*>("generalObject");
170-
// if (obj) {
171-
// QMetaObject::invokeMethod(obj,
172-
// "clearDestinationModel");
173-
// }
174-
// else
175-
// qDebug() << "generalObject Not Found";
186+
QObject* obj = root->rootObject->findChild<QObject*>("generalObject");
187+
if (obj) {
188+
QMetaObject::invokeMethod(obj,
189+
"clearDestinationModel");
190+
}
191+
else
192+
qDebug() << "generalObject Not Found";
193+
}
194+
195+
void _Window::newPrinterSelected(const QString &printer) {
196+
Command cmd;
197+
cmd.command = "get-all-options";
198+
cmd.arg1 = printer.toStdString();
199+
if (cmd.arg1.compare("") != 0)
200+
parse_commands(&cmd);
201+
}
202+
203+
void _Window::remotePrintersToggled(const QString &enabled) {
204+
qDebug() << enabled;
176205
}
177206

178207
void ui_add_job_hold_until(char *startJobOption) {}

app/window.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
extern "C" {
1313
#include "../backends/cups/src/CPD.h"
14-
#include "../backends/cups/src/print_frontend.h"
1514
}
1615

1716
class QPrinter;
@@ -30,7 +29,6 @@ class _Window : public QWidget {
3029
Q_OBJECT
3130
public:
3231
FrontendObj *f;
33-
GMainLoop *loop;
3432
Tabs *tabs;
3533
Root *root;
3634
Preview *preview;
@@ -46,14 +44,17 @@ class _Window : public QWidget {
4644
void addMaximumPrintCopies(int copies) {}
4745
void addJobHoldUntil(char* startJobOption) {}
4846
void addPagesPerSize(char* pages) {}
49-
void updateAllOptions(const QString &printer) {}
47+
void updateAllOptions(const QString &printer);
5048
gpointer parse_commands(gpointer user_data);
5149
gpointer ui_add_printer(gpointer user_data);
5250

5351
public Q_SLOTS:
5452
void tabBarIndexChanged(qint32 index);
5553
void swipeViewIndexChanged(qint32 index);
5654
void cancelButtonClicked();
55+
void newPrinterSelected(const QString &printer);
56+
void remotePrintersToggled(const QString &enabled);
57+
5758
};
5859

5960
class Q_PRINTSUPPORT_EXPORT CPrintDialog : public QAbstractPrintDialog {

backends/cups

Submodule cups updated from 2c67ccd to 1658259

backends/interface

Submodule interface added at f2e9f26

common-print-dialog.pro

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,15 @@ unix {
1313
PKGCONFIG += gio-unix-2.0 glib-2.0 gobject-2.0 poppler-qt5
1414
}
1515

16-
SOURCES += \#app/main.cpp \
16+
SOURCES += \
1717
app/preview.cpp \
18-
\#app/commonprintdialog.cpp \
19-
backends/cups/src/frontend_interface.c \
20-
backends/cups/src/frontend_helper.c \
21-
backends/cups/src/common_helper.c \
22-
backends/cups/src/backend_interface.c \
2318
app/window.cpp \
2419
cpd.cpp \
25-
app/components.cpp
20+
app/components.cpp \
21+
backends/cups/src/backend_interface.c \
22+
backends/cups/src/common_helper.c \
23+
backends/cups/src/frontend_helper.c \
24+
backends/cups/src/frontend_interface.c
2625

2726
RESOURCES += qml.qrc
2827

@@ -55,14 +54,14 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
5554

5655
HEADERS += \
5756
app/preview.h \
58-
\#app/commonprintdialog.h \
59-
backends/cups/src/print_frontend.h \
60-
backends/cups/src/frontend_interface.h \
61-
backends/cups/src/frontend_helper.h \
62-
backends/cups/src/CPD.h \
63-
backends/cups/src/common_helper.h \
64-
backends/cups/src/backend_interface.h \
6557
app/window.h \
6658
cpd.h \
6759
cpd_global.h \
68-
app/components.h
60+
app/components.h \
61+
backends/cups/release/headers/backend_interface.h \
62+
backends/cups/release/headers/common_helper.h \
63+
backends/cups/release/headers/CPD.h \
64+
backends/cups/release/headers/frontend_helper.h \
65+
backends/cups/release/headers/frontend_interface.h
66+
67+
#LIBS += -L/home/anshul/Dropbox/Documents/common-print-dialog/backends/cups/release/libs -lCPD -lCPDcore

0 commit comments

Comments
 (0)