[mythtv] Own Class Searchwindows (Base Class: mythpopupbox)
Jochen Kühner
jochen.kuehner at gmx.de
Fri Aug 26 16:02:08 UTC 2005
If created a new clas, search window derived from mythpopupbox
this class has an constuctor wich add's the buttons to the class and a function wich shows the popup:
but now. when i had shown the popup and close my window, i could not control mythtv agian.
what di i wrong??
my cpp file of my class:
using namespace std;
#include "searchrom.h"
#include <mythtv/mythdialogs.h>
#include <mythtv/mythwidgets.h>
#include <mythtv/mythcontext.h>
void MythSearchRomDialog::dosearch(void)
{
}
MythSearchRomDialog::MythSearchRomDialog(MythMainWindow *parent, const char *name): MythPopupBox(parent, name)
{
//MythPopupBox *search_rom_popup = new MythPopupBox(gContext->GetMainWindow(), "search_rom_popup");, "search_rom_popup
// create the widgets
addLabel(QString("Search for Rom..."));
editor = new MythRemoteLineEdit(this);
//connect(editor, SIGNAL(textChanged()), this, SLOT(searchTextChanged()));
addWidget(editor);
editor->setFocus();
addButton("OK", this, SLOT(okPressed()));
addButton("Cancel", this, SLOT(cancelPressed()));
}
void MythSearchRomDialog::closeRomPopup(void)
{
if (!search_rom_popup)
return;
search_rom_popup->hide();
delete search_rom_popup;
search_rom_popup = NULL;
}
void MythSearchRomDialog::keyPressEvent(QKeyEvent *e)
{
bool handled = false;
QStringList actions;
if (gContext->GetMainWindow()->TranslateKeyPress("qt", e, actions))
{
for (unsigned int i = 0; i < actions.size() && !handled; i++)
{
QString action = actions[i];
if (action == "ESCAPE")
{
handled = true;
done(-1);
}
if (action == "LEFT")
{
handled = true;
}
if (action == "RIGHT")
{
handled = true;
}
}
}
if (!handled)
MythPopupBox::keyPressEvent(e);
}
void MythSearchRomDialog::okPressed(void)
{
done(0);
}
void MythSearchRomDialog::cancelPressed(void)
{
done(1);
}
MythSearchRomDialog::~MythSearchRomDialog()
{
if (editor)
{
delete editor;
editor = NULL;
}
}
my header file: #ifndef GAMESEARCH_H_
#define GAMESEARCH_H_
#include <mythtv/mythdialogs.h>
#include <mythtv/mythdialogs.h>
#include <mythtv/mythwidgets.h>
class MythSearchRomDialog : public MythPopupBox
{
Q_OBJECT
public:
MythSearchRomDialog(MythMainWindow *parent, const char *name = 0);
~MythSearchRomDialog();
public:
void dosearch(void);
void setSearchText(QString text);
void setItems(QStringList items);
QString getResult(void);*/
protected slots:
void okPressed(void);
void cancelPressed(void);
void closeRomPopup(void);
protected:
void keyPressEvent(QKeyEvent *e);
private:
QLabel *caption;
MythRemoteLineEdit *editor;
QButton *ok_button;
QButton *cancel_button;
MythPopupBox *search_rom_popup;
};
#endif
my call of my class:
i another cpp file:
void GameTreeItem::searchrom(void)
{
srom = new MythSearchRomDialog(gContext->GetMainWindow(), "search_rom_popup");
srom->ShowPopup(this,SLOT(closeSearchRom()));
if (!info_popup)
return;
info_popup->hide();
delete info_popup;
info_popup = NULL;
}
void GameTreeItem::closeSearchRom(void)
{
if (!srom)
return;
srom->hide();
delete srom;
srom = NULL;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-dev/attachments/20050826/680a2e3c/attachment.htm
More information about the mythtv-dev
mailing list