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.
tellico/src/fetchdialog.h

135 lines
3.2 KiB

/***************************************************************************
copyright : (C) 2003-2006 by Robby Stephenson
email : robby@periapsis.org
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of version 2 of the GNU General Public License as *
* published by the Free Software Foundation; *
* *
***************************************************************************/
#ifndef FETCHDIALOG_H
#define FETCHDIALOG_H
#include "datavectors.h"
#include <kdialogbase.h>
#include <tqguardedptr.h>
namespace Tellico {
class EntryView;
namespace Fetch {
class Fetcher;
class SearchResult;
}
namespace GUI {
class ComboBox;
class ListView;
}
}
namespace barcodeRecognition {
class barcodeRecognitionThread;
}
class KComboBox;
class KLineEdit;
class KPushButton;
class KStatusBar;
class KTextEdit;
class TQProgressBar;
class TQTimer;
class TQCheckBox;
namespace Tellico {
/**
* @author Robby Stephenson
*/
class FetchDialog : public KDialogBase {
Q_OBJECT
public:
/**
* Constructor
*/
FetchDialog(TQWidget* parent, const char* name = 0);
~FetchDialog();
public slots:
void slotResetCollection();
protected:
bool eventFilter(TQObject* obj, TQEvent* ev);
private slots:
void slotSearchClicked();
void slotClearClicked();
void slotAddEntry();
void slotMoreClicked();
void slotShowEntry();
void slotMoveProgress();
void slotStatus(const TQString& status);
void slotUpdateStatus();
void slotFetchDone(bool checkISBN = true);
void slotResultFound(Tellico::Fetch::SearchResult* result);
void slotKeyChanged(int);
void slotSourceChanged(const TQString& source);
void slotMultipleISBN(bool toggle);
void slotEditMultipleISBN();
void slotInit();
void slotLoadISBNList();
void slotUPC2ISBN();
void slotBarcodeRecognized(TQString);
void slotBarcodeGotImage(TQImage&);
private:
void startProgress();
void stopProgress();
void setStatus(const TQString& text);
void adjustColumnWidth();
void customEvent( TQCustomEvent *e );
class SearchResultItem;
KComboBox* m_sourceCombo;
GUI::ComboBox* m_keyCombo;
KLineEdit* m_valueLineEdit;
KPushButton* m_searchButton;
TQCheckBox* m_multipleISBN;
KPushButton* m_editISBN;
GUI::ListView* m_listView;
EntryView* m_entryView;
KPushButton* m_addButton;
KPushButton* m_moreButton;
KStatusBar* m_statusBar;
TQProgressBar* m_progress;
TQTimer* m_timer;
TQGuardedPtr<KTextEdit> m_isbnTextEdit;
TQLabel *m_barcodePreview;
bool m_started;
int m_resultCount;
TQString m_oldSearch;
TQStringList m_isbnList;
TQStringList m_statusMessages;
TQMap<int, Data::EntryPtr> m_entries;
TQPtrList<Fetch::SearchResult> m_results;
int m_collType;
barcodeRecognition::barcodeRecognitionThread *m_barcodeRecognitionThread;
};
} //end namespace
#endif