4 #define BIBLIOTEQ_VERSION "2020.01.01" 6 #include "biblioteq_book.h" 7 #include "biblioteq_callnum_table_item.h" 8 #include "biblioteq_cd.h" 9 #include "biblioteq_dbenumerations.h" 10 #include "biblioteq_dvd.h" 11 #include "biblioteq_generic_thread.h" 12 #include "biblioteq_grey_literature.h" 13 #include "biblioteq_import.h" 14 #include "biblioteq_magazine.h" 15 #include "biblioteq_misc_functions.h" 16 #include "biblioteq_myqstring.h" 17 #include "biblioteq_numeric_table_item.h" 18 #include "biblioteq_photographcollection.h" 19 #include "biblioteq_videogame.h" 20 #include "ui_biblioteq_adminsetup.h" 21 #include "ui_biblioteq_allinfo.h" 22 #include "ui_biblioteq_branch_s.h" 23 #include "ui_biblioteq_customquery.h" 24 #include "ui_biblioteq_errordiag.h" 25 #include "ui_biblioteq_history.h" 26 #include "ui_biblioteq_mainwindow.h" 27 #include "ui_biblioteq_members_browser.h" 28 #include "ui_biblioteq_password.h" 29 #include "ui_biblioteq_userinfo.h" 31 #include <QMessageBox> 42 m_userinfo.setupUi(
this);
49 QHash<QString, QString> m_memberProperties;
50 Ui_UserInfo m_userinfo;
52 bool haveMemberChanges(QString &str)
56 if(m_memberProperties.value(
"membersince") !=
57 m_userinfo.membersince->date().toString(Qt::ISODate))
58 list <<
"membersince";
60 if(m_memberProperties.value(
"dob") !=
61 m_userinfo.dob->date().toString(Qt::ISODate))
64 if(m_memberProperties.value(
"sex") != m_userinfo.sex->currentText())
67 if(m_memberProperties.value(
"first_name") != m_userinfo.firstName->text().
71 if(m_memberProperties.value(
"middle_init") != m_userinfo.middle->text().
73 list <<
"middle_init";
75 if(m_memberProperties.value(
"last_name") != m_userinfo.lastName->text().
79 if(m_memberProperties.value(
"telephone_num") !=
80 m_userinfo.telephoneNumber->text())
81 list <<
"telephone_num";
83 if(m_memberProperties.value(
"street") !=
84 m_userinfo.street->text().trimmed())
87 if(m_memberProperties.value(
"city") != m_userinfo.city->text().trimmed())
90 if(m_memberProperties.value(
"state_abbr") !=
91 m_userinfo.state->currentText())
94 if(m_memberProperties.value(
"zip") != m_userinfo.zip->text())
97 if(m_memberProperties.value(
"email") != m_userinfo.email->text())
100 if(m_memberProperties.value(
"expiration_date") !=
101 m_userinfo.expirationdate->date().toString(Qt::ISODate))
102 list <<
"expiration_date";
104 if(m_memberProperties.value(
"overdue_fees") !=
105 m_userinfo.overduefees->text())
106 list <<
"overdue_fees";
108 if(m_memberProperties.value(
"comments") !=
109 m_userinfo.comments->toPlainText().
113 if(m_memberProperties.value(
"general_registration_number") !=
114 m_userinfo.generalregistrationnumber->text().trimmed())
115 list <<
"general_registration_number";
117 if(m_memberProperties.value(
"memberclass") !=
118 m_userinfo.memberclass->text().trimmed())
119 list <<
"memberclass";
121 for(
int i = 0; i < list.size(); i++)
122 str += list.at(i) +
", ";
127 str = str.mid(0, str.length() - 2);
131 return !str.isEmpty();
135 void changeEvent(QEvent *event)
138 switch(event->type())
140 case QEvent::LanguageChange:
142 m_userinfo.retranslateUi(
this);
149 QDialog::changeEvent(event);
157 if(haveMemberChanges(str))
159 question(
this, tr(
"BiblioteQ: Question"),
160 tr(
"Your changes have not been saved. Continue " 161 "closing?\n%1").arg(str),
162 QMessageBox::Yes | QMessageBox::No,
163 QMessageBox::No) == QMessageBox::No)
165 QApplication::processEvents();
178 static QString s_locale;
179 static QTranslator *s_appTranslator;
180 static QTranslator *s_qtTranslator;
181 static const int CUSTOM_QUERY = 0;
182 static const int EDITABLE = 0;
183 static const int NEW_PAGE = 0;
184 static const int NEXT_PAGE = 1;
185 static const int POPULATE_ALL = 1;
186 static const int POPULATE_SEARCH = 2;
187 static const int POPULATE_SEARCH_BASIC = 3;
188 static const int PREVIOUS_PAGE = 2;
189 static const int VIEW_ONLY = 1;
192 QMenu *m_configToolMenu;
194 QHash<QString, QString> getAmazonHash(
void)
const;
195 QHash<QString, QString> getOpenLibraryHash(
void)
const;
196 QHash<QString, QString> getSRUHash(
const QString &name)
const;
197 QHash<QString, QString> getZ3950Hash(
const QString &name)
const;
198 QMainWindow *getMembersBrowser(
void)
const;
199 QSqlDatabase getDB(
void)
const;
200 QString getAdminID(
void)
const;
201 QString getPreferredSRUSite(
void)
const;
202 QString getPreferredZ3950Site(
void)
const;
203 QString getRoles(
void)
const;
204 QString getTypeFilterString(
void)
const;
205 QString publicationDateFormat(
const QString &itemType)
const;
206 QString unaccent(
void)
const;
207 QStringList getSRUNames(
void)
const;
208 QStringList getZ3950Names(
void)
const;
209 QVariant setting(
const QString &name)
const;
210 QVector<QString> getBBColumnIndexes(
void)
const;
211 Ui_mainWindow getUI(
void)
const;
212 Ui_membersBrowser getBB(
void)
const;
213 bool isGuest(
void)
const;
214 int pageLimit(
void)
const;
215 int populateTable(
const QSqlQuery &query,
216 const QString &typefilter,
217 const int pagingType,
218 const int searchType);
219 int populateTable(
const int search_type_arg,
220 const QString &typefilter,
221 const QString &searchstrArg,
222 const int pagingType = NEW_PAGE);
223 static QString homePath(
void);
224 static void quit(
const char *msg,
const char *file,
const int line);
225 static void quit(
void);
226 void addError(
const QString &type,
227 const QString &summary,
228 const QString &error =
"",
229 const char *file =
"",
231 void bookSearch(
const QString &field,
const QString &value);
232 void cdSearch(
const QString &field,
const QString &value);
233 void dvdSearch(
const QString &field,
const QString &value);
234 void greyLiteratureSearch(
const QString &field,
const QString &value);
235 void journSearch(
const QString &field,
const QString &value);
236 void magSearch(
const QString &field,
const QString &value);
237 void pcSearch(
const QString &field,
const QString &value);
252 void replacePhotographCollection(
const QString &
id,
255 void setGlobalFonts(
const QFont &font);
256 void setSummaryImages(
const QImage &back,
const QImage &front);
258 void updateItemWindows(
void);
259 void updateMembersBrowser(
const QString &memberid);
260 void updateMembersBrowser(
void);
261 void updateReservationHistoryBrowser(
const QString &memberid,
263 const QString ©id,
264 const QString &itemType,
265 const QString &returnedDate);
266 void updateRows(
const QString &oid,
const int row,
const QString &it);
267 void updateSceneItem(
const QString &oid,
269 const QImage &image);
270 void vgSearch(
const QString &field,
const QString &value);
273 void slotDisplaySummary(
void);
274 void slotResizeColumns(
void);
277 QActionGroup *m_menuCategoryActionGroup;
278 QDialog *m_branch_diag;
279 QDialog *m_pass_diag;
280 QHash<QString, QString> m_amazonImages;
281 QHash<QString, QString> m_openLibraryImages;
282 QHash<QString, QString> m_selectedBranch;
283 QLabel *m_connected_bar_label;
284 QLabel *m_status_bar_label;
285 QMainWindow *m_admin_diag;
286 QMainWindow *m_all_diag;
287 QMainWindow *m_customquery_diag;
288 QMainWindow *m_error_diag;
289 QMainWindow *m_history_diag;
290 QMainWindow *m_members_diag;
291 QMap<QString, QHash<QString, QString> > m_branches;
292 QMap<QString, QHash<QString, QString> > m_sruMaps;
293 QMap<QString, QHash<QString, QString> > m_z3950Maps;
295 QSqlQuery m_searchQuery;
296 QString m_engUserinfoTitle;
297 QString m_lastCategory;
298 QString m_lastSearchStr;
299 QString m_previousTypeFilter;
301 QStringList m_deletedAdmins;
302 QToolButton *m_error_bar_label;
303 QVector<QString> m_abColumnHeaderIndexes;
304 QVector<QString> m_bbColumnHeaderIndexes;
305 QVector<QString> m_historyColumnHeaderIndexes;
311 Ui_historyDialog history;
313 Ui_membersBrowser bb;
318 int m_lastSearchType;
320 qint64 m_queryOffset;
323 QString dbUserName(
void)
const;
324 bool emptyContainers(
void);
325 void addConfigOptions(
const QString &typefilter);
326 void adminSetup(
void);
327 void changeEvent(QEvent *event);
329 void closeEvent(QCloseEvent *event);
330 void createSqliteMenuActions(
void);
331 void deleteItem(
const QString &oid,
const QString &itemType);
332 void exportAsCSV(QTableWidget *table,
const QString &title);
333 void initialUpdate(
void);
334 void prepareFilter(
void);
335 void preparePhotographsPerPageMenu(
void);
336 void prepareRequestToolButton(
const QString &typefilter);
337 void readConfig(
void);
338 void readGlobalSetup(
void);
339 void resetAdminBrowser(
void);
340 void resetMembersBrowser(
void);
343 void slotAbout(
void);
344 void slotAddAdmin(
void);
345 void slotAddBorrower(
void);
346 void slotAdminCheckBoxClicked(
int state);
347 void slotAllGo(
void);
348 void slotAllowAnyUserEmail(
bool state);
349 void slotAutoPopOnFilter(QAction *action);
350 void slotBookSearch(
void);
351 void slotBranchChanged(
void);
352 void slotCDSearch(
void);
353 void slotCancelAddUser(
void);
354 void slotChangeView(
bool checked);
355 void slotCheckout(
void);
356 void slotClearSqliteMenu(
bool state);
357 void slotCloseCustomQueryDialog(
void);
358 void slotCloseMembersBrowser(
void);
359 void slotClosePasswordDialog(
void);
360 void slotConnectDB(
void);
361 void slotCopyError(
void);
362 void slotDVDSearch(
void);
363 void slotDelete(
void);
364 void slotDeleteAdmin(
void);
365 void slotDisconnect(
void);
366 void slotDisplayNewSqliteDialog(
void);
367 void slotDuplicate(
void);
368 void slotExecuteCustomQuery(
void);
370 void slotExportAsCSV(
void);
371 void slotExportMembersAsCSV(
void);
372 void slotGeneralSearchPublicationDateEnabled(
bool state);
373 void slotGrantPrivileges(
void);
374 void slotGreyLiteratureSearch(
void);
375 void slotInsertBook(
void);
376 void slotInsertCD(
void);
377 void slotInsertDVD(
void);
378 void slotInsertGreyLiterature(
void);
379 void slotInsertJourn(
void);
380 void slotInsertMag(
void);
381 void slotInsertPhotograph(
void);
382 void slotInsertVideoGame(
void);
383 void slotJournSearch(
void);
384 void slotLanguageChanged(
void);
385 void slotLastWindowClosed(
void);
386 void slotListOverdueItems(
void);
387 void slotListReservedItems(
void);
388 void slotMagSearch(
void);
389 void slotMainWindowCanvasBackgroundColorChanged(
const QColor &color);
390 void slotModify(
void);
391 void slotModifyBorrower(
void);
392 void slotNextPage(
void);
393 void slotOpenOnlineDocumentation(
void);
394 void slotOpenPDFFile(
void);
395 void slotOtherOptionsSaved(
void);
396 void slotPageClicked(
const QString &link);
397 void slotPhotographSearch(
void);
398 void slotPhotographsPerPageChanged(
void);
399 void slotPopulateMembersBrowser(
void);
400 void slotPreviewCanvasBackgroundColor(
const QColor &color);
401 void slotPreviousPage(
void);
402 void slotPrintReservationHistory(
void);
403 void slotPrintReserved(
void);
404 void slotPrintView(
void);
405 void slotRefresh(
void);
406 void slotRefreshAdminList(
void);
407 void slotRefreshCustomQuery(
void);
408 void slotReloadBiblioteqConf(
void);
409 void slotRemoveMember(
void);
410 void slotRequest(
void);
411 void slotReserveCopy(
void);
412 void slotReset(
void);
413 void slotResetAllSearch(
void);
414 void slotResetErrorLog(
void);
415 void slotResetLoginDialog(
void);
416 void slotResizeColumnsAfterSort(
void);
417 void slotRoleChanged(
int index);
418 void slotSaveAdministrators(
void);
419 void slotSaveConfig(
void);
420 void slotSaveDnt(
bool state);
421 void slotSavePassword(
void);
422 void slotSaveUser(
void);
423 void slotSceneSelectionChanged(
void);
424 void slotSearch(
void);
425 void slotSearchBasic(
void);
426 void slotSectionResized(
int logicalIndex,
int oldSize,
int newSize);
427 void slotSelectDatabaseFile(
void);
428 void slotSetColumns(
void);
429 void slotSetFonts(
void);
430 void slotShowAdminDialog(
void);
431 void slotShowChangePassword(
void);
432 void slotShowConnectionDB(
void);
433 void slotShowCustomQuery(
void);
434 void slotShowDbEnumerations(
void);
435 void slotShowErrorDialog(
void);
436 void slotShowGrid(
void);
437 void slotShowHistory(
void);
438 void slotShowImport(
void);
439 void slotShowMembersBrowser(
void);
440 void slotShowMenu(
void);
441 void slotShowNext(
void);
442 void slotShowOtherOptions(
void);
443 void slotShowPrev(
void);
444 void slotSqliteFileSelected(
bool state);
445 void slotUpdateIndicesAfterSort(
int column);
446 void slotUpgradeSqliteScheme(
void);
447 void slotVideoGameSearch(
void);
448 void slotViewDetails(
void);
449 void slotViewFullOrNormalScreen(
void);
Definition: biblioteq_videogame.h:7
Definition: biblioteq_import.h:9
Definition: biblioteq_photographcollection.h:10
Definition: biblioteq_magazine.h:13
Definition: biblioteq_dbenumerations.h:8
Definition: biblioteq.h:35
Definition: biblioteq_book.h:14
Definition: biblioteq_otheroptions.h:8
Definition: biblioteq_cd.h:8
Definition: biblioteq_dvd.h:7
Definition: biblioteq_magazine.h:89
Definition: biblioteq_grey_literature.h:7
Definition: biblioteq.h:173