You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
267 lines
7.6 KiB
267 lines
7.6 KiB
/***************************************************************************
|
|
batchwizard.h - description
|
|
-------------------
|
|
begin : Sun Mar 20 2005
|
|
copyright : (C) 2005 by Dominik Seichter
|
|
email : domseichter@web.de
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#ifndef BATCHWIZARD_H
|
|
#define BATCHWIZARD_H
|
|
|
|
#include <kwizard.h>
|
|
#include "batchiface.h"
|
|
|
|
class BatchPrinter;
|
|
class EncodingCombo;
|
|
class KComboBox;
|
|
class KCompletion;
|
|
class KIntNumInput;
|
|
class KLineEdit;
|
|
class KListBox;
|
|
class KListView;
|
|
class KPushButton;
|
|
class KURLRequester;
|
|
class QCheckBox;
|
|
class QHBox;
|
|
class QLabel;
|
|
class QListView;
|
|
class QListViewItem;
|
|
class QRadioButton;
|
|
class QTable;
|
|
class QVBox;
|
|
class QWidgetStack;
|
|
|
|
class BatchWizard : public KWizard, public BatchIface {
|
|
Q_OBJECT
|
|
public:
|
|
BatchWizard( QWidget* parent = NULL, const char* name = NULL );
|
|
~BatchWizard();
|
|
|
|
/** reimplemented DCOP method from BatchIface
|
|
* Allow the user to add an article to print to KBarcode
|
|
* @p article article number to add
|
|
* @p group use group as group name for this article
|
|
* @p count number of labels to print for this article
|
|
* @p msgbox show a messagebox if adding the item fails
|
|
*/
|
|
bool addItem( const QString & article, const QString & group, int count, bool msgbox = true );
|
|
|
|
/** reimplemented DCOP method from BatchIface
|
|
* tests wether the arctile is existing in KBarcodes database
|
|
* @p article article number to test for
|
|
*/
|
|
virtual bool existsArticle( const QString & article );
|
|
|
|
/** reimplemented DCOP method from BatchIface
|
|
* import articles from a file. The user is asked for the filename
|
|
*/
|
|
virtual void loadFromFile( const QString & url );
|
|
|
|
/** reimplemented DCOP method from BatchIface
|
|
* print immediately with current settings
|
|
* @p printer print to this printer (must be known to the system)
|
|
* @p bUserInteraction if false no dialog will pop up besides the printer dialog
|
|
*/
|
|
virtual void printNow( const QString & printer, bool bUserInteraction = true );
|
|
|
|
/** reimplemented DCOP method from BatchIface
|
|
* to allow the user to set the label to be used
|
|
* @p url path of the label which shall get printed
|
|
*/
|
|
virtual void setFilename( const QString & url );
|
|
|
|
/** reimplemented DCOP method from BatchIface
|
|
* Set the batchwizards mode to print from imported data
|
|
* and import the data from the csv file @p filname
|
|
* @p filename csv file to import
|
|
*/
|
|
virtual void setImportCsvFile( const QString & filename );
|
|
|
|
/** reimplemented DCOP method from BatchIface
|
|
* Set the batchwizards mode to print from imported data
|
|
* and import the data from the sql query @p query
|
|
* @p query sql query to execute to get on user defined variables
|
|
*/
|
|
virtual void setImportSqlQuery( const QString & query );
|
|
|
|
/** reimplemented DCOP method from BatchIface
|
|
* set the numbers of labels to print.
|
|
* the option to print without data import is activated too using
|
|
* this option
|
|
* @p n number of labels to print
|
|
*/
|
|
virtual void setNumLabels( const int n );
|
|
|
|
/** reimplemented DCOP method from BatchIface
|
|
* sets wether the user wants to print to a postscript printer,
|
|
* a barcode printer or to image files.
|
|
* @p e is of datatype BatchPrinter::EOutputFormat
|
|
*/
|
|
virtual void setOutputFormat( const int e );
|
|
|
|
/** reimplemented DCOP method from BatchIface
|
|
* allow the user to set the value and start value for
|
|
* the serial number that can be used on labels using the [serial] token
|
|
* @p val value of the serial number (e.g. TEST0002)
|
|
* @p inc the serial number is increased that much for every label
|
|
*/
|
|
virtual void setSerialNumber( const QString & val, int inc );
|
|
|
|
public slots:
|
|
/** reimplemented DCOP method from BatchIface
|
|
* import articles from the clipboard
|
|
*/
|
|
virtual void loadFromClipboard();
|
|
|
|
|
|
private slots:
|
|
void addAllItems();
|
|
void enableControls();
|
|
void customerIdChanged( int index );
|
|
void customerNameChanged( int index );
|
|
void addItem();
|
|
bool slotAddItem( const QString & article, const QString & group, int count );
|
|
void changeItem( QListViewItem* item, const QPoint &, int );
|
|
void editItem();
|
|
void removeItem();
|
|
|
|
void slotTableInsert();
|
|
void slotTableRemove();
|
|
void loadFromFile();
|
|
|
|
void slotAddAddress();
|
|
void slotAddAllAddress();
|
|
void slotRemoveAddress();
|
|
void slotRemoveAllAddress();
|
|
|
|
private:
|
|
void moveAddress( QListView* src, QListView* dst, bool bAll = false );
|
|
|
|
void fillByteArray();
|
|
void fillVarList();
|
|
bool fillVarTable();
|
|
void fillAddressList();
|
|
|
|
void setupPage1();
|
|
void setupPage2();
|
|
void setupPage3();
|
|
void setupPage4();
|
|
void setupPage5();
|
|
void setupPage10();
|
|
|
|
void setupStackPage1();
|
|
void setupStackPage2();
|
|
void setupStackPage3();
|
|
void setupStackPage4();
|
|
|
|
void setupSql();
|
|
void setupBatchPrinter( BatchPrinter* batch, int m );
|
|
|
|
void addGroupCompletion( const QString & group );
|
|
void loadData( const QString & data );
|
|
|
|
protected:
|
|
void accept();
|
|
void showPage( QWidget* w );
|
|
|
|
private:
|
|
/** m_bytearray_filename is set whenever
|
|
* the kbarcide label file has been read into
|
|
* the buffer m_bytearray. Therefore we have only
|
|
* to re-read the bytearray when the filename was
|
|
* changed by the user.
|
|
*/
|
|
QString m_bytearray_filename;
|
|
QByteArray m_bytearray;
|
|
|
|
QWidget* page1;
|
|
QWidget* page2;
|
|
QWidgetStack* page3;
|
|
QVBox* page4;
|
|
QVBox* page5;
|
|
QWidget* page10;
|
|
|
|
QVBox* stack1;
|
|
QHBox* stack2;
|
|
QVBox* stack3;
|
|
QWidget* stack4;
|
|
|
|
QVBox* imageBox;
|
|
|
|
QLabel* labelInfo;
|
|
QLabel* labelSqlQuery;
|
|
QLabel* labelCsvFile;
|
|
QLabel* labelEncoding;
|
|
|
|
QRadioButton* radioSqlArticles;
|
|
QRadioButton* radioVarImport;
|
|
QRadioButton* radioSimple;
|
|
QRadioButton* radioAddressBook;
|
|
|
|
QRadioButton* radioPrinter;
|
|
QRadioButton* radioImage;
|
|
QRadioButton* radioBarcode;
|
|
|
|
QRadioButton* radioImportSql;
|
|
QRadioButton* radioImportCSV;
|
|
QRadioButton* radioImportManual;
|
|
|
|
QRadioButton* radioImageFilenameArticle;
|
|
QRadioButton* radioImageFilenameBarcode;
|
|
QRadioButton* radioImageFilenameCustom;
|
|
KLineEdit* editImageFilename;
|
|
KURLRequester* imageDirPath;
|
|
|
|
KLineEdit* importSqlQuery;
|
|
KURLRequester* importCsvFile;
|
|
|
|
KComboBox* customerName;
|
|
KComboBox* customerId;
|
|
KComboBox* comboFormat;
|
|
EncodingCombo* comboEncoding;
|
|
|
|
KCompletion* compGroup;
|
|
|
|
KIntNumInput* serialInc;
|
|
KIntNumInput* numLabels;
|
|
|
|
QTable* m_varTable;
|
|
KListBox* m_varList;
|
|
|
|
KListView* listAddress;
|
|
KListView* listSelectedAddress;
|
|
|
|
KListView* sqlList;
|
|
KLineEdit* serialStart;
|
|
|
|
QCheckBox* checkKeepOpen;
|
|
|
|
KPushButton* buttonAddAddress;
|
|
KPushButton* buttonRemoveAddress;
|
|
KPushButton* buttonAddAllAddress;
|
|
KPushButton* buttonRemoveAllAddress;
|
|
|
|
KPushButton* buttonAdd;
|
|
KPushButton* buttonImport;
|
|
KPushButton* buttonEdit;
|
|
KPushButton* buttonRemove;
|
|
KPushButton* buttonRemoveAll;
|
|
|
|
KPushButton* buttonTableInsert;
|
|
KPushButton* buttonTableRemove;
|
|
|
|
KURLRequester* m_url;
|
|
};
|
|
|
|
#endif // BATCHWIZARD_H
|