MythTV  master
proglist_helpers.cpp
Go to the documentation of this file.
1 // MythTV
2 #include "mythuibuttonlist.h"
3 #include "proglist_helpers.h"
4 #include "mythcorecontext.h"
5 #include "mythuitextedit.h"
6 #include "scheduleeditor.h"
7 #include "recordingrule.h"
8 #include "mythuibutton.h"
9 #include "channelinfo.h"
10 #include "channelutil.h"
11 #include "mythuitext.h"
12 #include "proglist.h"
13 #include "mythdate.h"
14 
16 {
17  if (!LoadWindowFromXML("schedule-ui.xml", "phrasepopup", this))
18  return false;
19 
20  bool err = false;
21  UIUtilE::Assign(this, m_titleText, "title_text", &err);
22  UIUtilE::Assign(this, m_phraseList, "phrase_list", &err);
23  UIUtilE::Assign(this, m_phraseEdit, "phrase_edit", &err);
24  UIUtilE::Assign(this, m_okButton, "ok_button", &err);
25  UIUtilE::Assign(this, m_deleteButton, "delete_button", &err);
26  UIUtilE::Assign(this, m_recordButton, "record_button", &err);
27 
28  if (err)
29  {
30  LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'phrasepopup'");
31  return false;
32  }
33 
35  {
36  m_titleText->SetText(tr("Select Search"));
37  new MythUIButtonListItem(m_phraseList, tr("<New Search>"), nullptr, false);
38  m_okButton->SetText(tr("Edit"));
39  }
40  else
41  {
42  m_titleText->SetText(tr("Phrase"));
43  new MythUIButtonListItem(m_phraseList, tr("<New Phrase>"), nullptr, false);
44  }
45 
46  for (int x = 0; x < m_list.size(); x++)
47  {
48  new MythUIButtonListItem(m_phraseList, m_list.at(x), nullptr, false);
49  }
50 
55 
56 
58 
59  m_deleteButton->SetText(tr("Delete"));
60  m_recordButton->SetText(tr("Record"));
61 
65 
67 
69 
71 
72  return true;
73 }
74 
76 {
77  m_okButton->SetEnabled(!m_phraseEdit->GetText().trimmed().isEmpty());
79  (m_list.indexOf(m_phraseEdit->GetText().trimmed()) != -1));
80  m_recordButton->SetEnabled(!m_phraseEdit->GetText().trimmed().isEmpty());
81 }
82 
84 {
85  if (!item)
86  return;
87 
88  int pos = m_phraseList->GetCurrentPos();
89 
90  if (pos == 0)
92  else
93  okClicked();
94 }
95 
97 {
98  if (!item)
99  return;
100 
101  if (m_phraseList->GetCurrentPos() == 0)
102  m_phraseEdit->Reset();
103  else
104  m_phraseEdit->SetText(item->GetText());
105 
109 }
110 
112 {
113  if (m_phraseEdit->GetText().trimmed().isEmpty())
114  return;
115 
116  // check to see if we need to save the phrase
119 
120 // emit haveResult(m_phraseList->GetCurrentPos());
122 
123  Close();
124 }
125 
127 {
128  int view = m_phraseList->GetCurrentPos() - 1;
129 
130  if (view < 0)
131  return;
132 
133  QString text = m_list[view];
134  const QString& qphrase = text;
135 
137  query.prepare("DELETE FROM keyword "
138  "WHERE phrase = :PHRASE AND searchtype = :TYPE;");
139  query.bindValue(":PHRASE", qphrase);
140  query.bindValue(":TYPE", m_searchType);
141  if (!query.exec())
142  MythDB::DBError("PhrasePopup::deleteClicked", query);
143 
145 
146  m_parent->m_viewList.removeAll(text);
147  m_parent->m_viewTextList.removeAll(text);
148 
149  if (view < m_parent->m_curView)
150  m_parent->m_curView--;
151  else if (view == m_parent->m_curView)
152  m_parent->m_curView = -1;
153 
154  if (m_parent->m_viewList.count() < 1)
156  else
158 }
159 
161 {
162  QString text = m_phraseEdit->GetText();
163  QString what = text;
164  QString fromgenre;
165 
166  if (text.trimmed().isEmpty())
167  return;
168 
169  if (m_searchType == kNoSearch)
170  {
171  LOG(VB_GENERAL, LOG_ERR, "Unknown search in ProgLister");
172  return;
173  }
174 
175  if (m_searchType == kPowerSearch)
176  {
177  if (text == ":::::")
178  return;
179 
180  MSqlBindings bindings;
181  if (ProgLister::PowerStringToSQL(text, what, bindings))
182  {
183  fromgenre = QString("LEFT JOIN programgenres ON "
184  "program.chanid = programgenres.chanid AND "
185  "program.starttime = programgenres.starttime ");
186  }
187 
188  if (what.isEmpty())
189  return;
190 
191  MSqlEscapeAsAQuery(what, bindings);
192  }
193 
194  auto *record = new RecordingRule();
195 
196  record->LoadBySearch(m_searchType, text, what, fromgenre);
197 
199  auto *schededit = new ScheduleEditor(mainStack, record);
200  if (schededit->Create())
201  {
202  mainStack->AddScreen(schededit);
203  okClicked();
204  }
205  else
206  delete schededit;
207 }
208 
210 
212 {
213  if (!LoadWindowFromXML("schedule-ui.xml", "powersearchpopup", this))
214  return false;
215 
216  bool err = false;
217  UIUtilE::Assign(this, m_titleText, "title_text", &err);
218  UIUtilE::Assign(this, m_phraseList, "phrase_list", &err);
219  UIUtilE::Assign(this, m_editButton, "edit_button", &err);
220  UIUtilE::Assign(this, m_deleteButton, "delete_button", &err);
221  UIUtilE::Assign(this, m_recordButton, "record_button", &err);
222 
223  if (err)
224  {
225  LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'powersearchpopup'");
226  return false;
227  }
228 
229  m_titleText->SetText(tr("Select Search"));
230  new MythUIButtonListItem(m_phraseList, tr("<New Search>"), nullptr, false);
231 
232  for (int x = 0; x < m_list.size(); x++)
233  {
234  new MythUIButtonListItem(m_phraseList, m_list.at(x), nullptr, false);
235  }
236 
241 
242 
244 
245  m_editButton->SetText(tr("Edit"));
246  m_deleteButton->SetText(tr("Delete"));
247  m_recordButton->SetText(tr("Record"));
248 
252 
253  BuildFocusList();
254 
256 
257  return true;
258 }
259 
261 {
262  if (!item)
263  return;
264 
265  int pos = m_phraseList->GetCurrentPos();
266 
267  if (pos == 0)
268  editClicked();
269  else
270  {
272  Close();
273  }
274 }
275 
277 {
278  if (!item)
279  return;
280 
284 }
285 
287 {
288  MythScreenStack *popupStack = GetMythMainWindow()->GetStack("popup stack");
289 
290  QString currentItem = ":::::";
291 
292  if (m_phraseList->GetCurrentPos() != 0)
293  currentItem = m_phraseList->GetValue();
294 
295  auto *popup = new EditPowerSearchPopup(popupStack, m_parent, currentItem);
296 
297  if (!popup->Create())
298  {
299  delete popup;
300  return;
301  }
302 
303  popupStack->AddScreen(popup);
304 
305  Close();
306 }
307 
309 {
310  int view = m_phraseList->GetCurrentPos() - 1;
311 
312  if (view < 0)
313  return;
314 
315  QString text = m_list[view];
316  const QString& qphrase = text;
317 
319  query.prepare("DELETE FROM keyword "
320  "WHERE phrase = :PHRASE AND searchtype = :TYPE;");
321  query.bindValue(":PHRASE", qphrase);
322  query.bindValue(":TYPE", m_searchType);
323  if (!query.exec())
324  MythDB::DBError("PowerSearchPopup::deleteClicked", query);
325 
327 
328  m_parent->m_viewList.removeAll(text);
329  m_parent->m_viewTextList.removeAll(text);
330 
331  if (view < m_parent->m_curView)
332  m_parent->m_curView--;
333  else if (view == m_parent->m_curView)
334  m_parent->m_curView = -1;
335 
336  if (m_parent->m_viewList.count() < 1)
338  else
340 }
341 
343 {
344  QString text = m_phraseList->GetValue();
345  QString what = text;
346  QString fromgenre;
347 
348  if (text.trimmed().isEmpty())
349  return;
350 
351  if (m_searchType == kNoSearch)
352  {
353  LOG(VB_GENERAL, LOG_ERR, "Unknown search in ProgLister");
354  return;
355  }
356 
357  if (m_searchType == kPowerSearch)
358  {
359  if (text == ":::::")
360  return;
361 
362  MSqlBindings bindings;
363  if (ProgLister::PowerStringToSQL(text, what, bindings))
364  {
365  fromgenre = QString(
366  "LEFT JOIN programgenres ON "
367  "program.chanid = programgenres.chanid AND "
368  "program.starttime = programgenres.starttime ");
369  }
370 
371  if (what.isEmpty())
372  return;
373 
374  MSqlEscapeAsAQuery(what, bindings);
375  }
376 
377  auto *record = new RecordingRule();
378 
379  record->LoadBySearch(m_searchType, text, what, fromgenre);
380 
382  auto *schededit = new ScheduleEditor(mainStack, record);
383  if (schededit->Create())
384  {
385  mainStack->AddScreen(schededit);
387  Close();
388  }
389  else
390  delete schededit;
391 }
392 
394 
396  ProgLister *parent,
397  QString &currentValue)
398  : MythScreenType(parentStack, "phrasepopup"),
399  m_parent(parent),
400  m_currentValue(std::move(currentValue))
401 {
402  //sanity check currentvalue
403  QStringList field = m_currentValue.split(':');
404  if (field.count() != 6)
405  {
406  LOG(VB_GENERAL, LOG_ERR, QString("Error. PowerSearch %1 has %2 fields")
407  .arg(m_currentValue).arg(field.count()));
408  m_currentValue = ":::::";
409  }
410 }
411 
413 {
414  if (!LoadWindowFromXML("schedule-ui.xml", "editpowersearchpopup", this))
415  return false;
416 
417  bool err = false;
418  UIUtilE::Assign(this, m_titleEdit, "title_edit", &err);
419  UIUtilE::Assign(this, m_subtitleEdit, "subtitle_edit", &err);
420  UIUtilE::Assign(this, m_descEdit, "desc_edit", &err);
421  UIUtilE::Assign(this, m_categoryList, "category_list", &err);
422  UIUtilE::Assign(this, m_genreList, "genre_list", &err);
423  UIUtilE::Assign(this, m_channelList, "channel_list", &err);
424  UIUtilE::Assign(this, m_okButton, "ok_button", &err);
425 
426  if (err)
427  {
428  LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'editpowersearchpopup'");
429  return false;
430  }
431 
432  QStringList field = m_currentValue.split(':');
433 
434  m_titleEdit->SetText(field[0]);
435  m_subtitleEdit->SetText(field[1]);
436  m_descEdit->SetText(field[2]);
437 
438  initLists();
439 
441 
442  BuildFocusList();
443 
445 
446  return true;
447 }
448 
450 {
451  QString text;
452  text = m_titleEdit->GetText().replace(':','%').replace('*','%') + ':';
453  text += m_subtitleEdit->GetText().replace(':','%').replace('*','%') + ':';
454  text += m_descEdit->GetText().replace(':','%').replace('*','%') + ':';
455 
456  if (m_categoryList->GetCurrentPos() > 0)
458  text += ':';
459  if (m_genreList->GetCurrentPos() > 0)
460  text += m_genres[m_genreList->GetCurrentPos()];
461  text += ':';
462  if (m_channelList->GetCurrentPos() > 0)
464 
465  if (text == ":::::")
466  return;
467 
469  m_parent->FillViewList(text);
470  m_parent->SetViewFromList(text);
471 
472  Close();
473 }
474 
476 {
477  QStringList field = m_currentValue.split(':');
478 
479  // category type
480  m_categories.clear();
482  m_categoryList, tr("(Any Program Type)"), nullptr, false);
483  m_categories << "";
484  new MythUIButtonListItem(m_categoryList, tr("Movies"), nullptr, false);
485  m_categories << "movie";
486  new MythUIButtonListItem(m_categoryList, tr("Series"), nullptr, false);
487  m_categories << "series";
488  new MythUIButtonListItem(m_categoryList, tr("Show"), nullptr, false);
489  m_categories << "tvshow";
490  new MythUIButtonListItem(m_categoryList, tr("Sports"), nullptr, false);
491  m_categories << "sports";
492  m_categoryList->SetItemCurrent(m_categories.indexOf(field[3]));
493 
494  // genre
495  m_genres.clear();
496  new MythUIButtonListItem(m_genreList, tr("(Any Genre)"), nullptr, false);
497  m_genres << "";
498 
500 
501  query.prepare("SELECT genre FROM programgenres GROUP BY genre;");
502 
503  if (query.exec())
504  {
505  while (query.next())
506  {
507  QString category = query.value(0).toString();
508  if (category.isEmpty() || category.trimmed().isEmpty())
509  continue;
510  category = query.value(0).toString();
511  new MythUIButtonListItem(m_genreList, category, nullptr, false);
512  m_genres << category;
513  if (category == field[4])
515  }
516  }
517 
518  // channel
519  QString channelOrdering = gCoreContext->GetSetting(
520  "ChannelOrdering", "channum");
521 
522  m_channels.clear();
523  new MythUIButtonListItem(m_channelList, tr("(Any Channel)"), nullptr, false);
524  m_channels << "";
525 
526  ChannelInfoList channels = ChannelUtil::GetChannels(0, true, "callsign");
527  ChannelUtil::SortChannels(channels, channelOrdering, true);
528 
529  for (auto & channel : channels)
530  {
531  QString chantext = channel.GetFormatted(ChannelInfo::kChannelShort);
532 
533  m_parent->m_viewList << QString::number(channel.m_chanId);
534  m_parent->m_viewTextList << chantext;
535 
536  auto *item = new MythUIButtonListItem(m_channelList, chantext,
537  nullptr, false);
538 
539  InfoMap chanmap;
540  channel.ToMap(chanmap);
541  item->SetTextFromMap(chanmap);
542 
543  m_channels << channel.m_callSign;
544  if (channel.m_callSign == field[5])
546  }
547 }
MythUITextEdit::Reset
void Reset(void) override
Reset the widget to it's original state, should not reset changes made by the theme.
Definition: mythuitextedit.cpp:73
MythUIButton::Clicked
void Clicked()
scheduleeditor.h
MSqlBindings
QMap< QString, QVariant > MSqlBindings
typedef for a map of string -> string bindings for generic queries.
Definition: mythdbcon.h:98
MSqlQuery::next
bool next(void)
Wrap QSqlQuery::next() so we can display the query results.
Definition: mythdbcon.cpp:783
MSqlQuery
QSqlQuery wrapper that fetches a DB connection from the connection pool.
Definition: mythdbcon.h:126
MythMainWindow::GetMainStack
MythScreenStack * GetMainStack()
Definition: mythmainwindow.cpp:324
channel
QDomElement channel
Definition: mythplugins/mytharchive/mytharchivehelper/main.cpp:501
PhrasePopup::m_parent
ProgLister * m_parent
Definition: proglist_helpers.h:46
MythUIButtonList::GetItemCurrent
MythUIButtonListItem * GetItemCurrent() const
Definition: mythuibuttonlist.cpp:1590
PhrasePopup::phraseSelected
void phraseSelected(MythUIButtonListItem *item)
Definition: proglist_helpers.cpp:96
mythuitext.h
PowerSearchPopup::m_phraseList
MythUIButtonList * m_phraseList
Definition: proglist_helpers.h:93
EditPowerSearchPopup::m_parent
ProgLister * m_parent
Definition: proglist_helpers.h:116
ChannelInfo::kChannelShort
@ kChannelShort
Definition: channelinfo.h:49
EditPowerSearchPopup::m_subtitleEdit
MythUITextEdit * m_subtitleEdit
Definition: proglist_helpers.h:124
MythScreenType::Close
virtual void Close()
Definition: mythscreentype.cpp:402
PowerSearchPopup::editClicked
void editClicked(void)
Definition: proglist_helpers.cpp:286
EditPowerSearchPopup::m_channelList
MythUIButtonList * m_channelList
Definition: proglist_helpers.h:128
EditPowerSearchPopup::m_genres
QStringList m_genres
Definition: proglist_helpers.h:118
MythUIButtonList::RemoveItem
void RemoveItem(MythUIButtonListItem *item)
Definition: mythuibuttonlist.cpp:1488
ProgLister::m_viewList
QStringList m_viewList
Definition: proglist.h:109
PhrasePopup::m_currentValue
QString m_currentValue
Definition: proglist_helpers.h:49
MythUIButtonList::itemSelected
void itemSelected(MythUIButtonListItem *item)
PhrasePopup::m_titleText
MythUIText * m_titleText
Definition: proglist_helpers.h:51
MSqlQuery::value
QVariant value(int i) const
Definition: mythdbcon.h:198
MythScreenStack
Definition: mythscreenstack.h:16
PhrasePopup::m_okButton
MythUIButton * m_okButton
Definition: proglist_helpers.h:54
arg
arg(title).arg(filename).arg(doDelete))
ProgLister
Definition: proglist.h:32
RecordingRule
Internal representation of a recording rule, mirrors the record table.
Definition: recordingrule.h:33
MSqlQuery::exec
bool exec(void)
Wrap QSqlQuery::exec() so we can display SQL.
Definition: mythdbcon.cpp:603
category
QString category
Definition: mythplugins/mytharchive/mytharchivehelper/main.cpp:1422
PhrasePopup::phraseClicked
void phraseClicked(MythUIButtonListItem *item)
Definition: proglist_helpers.cpp:83
LOG
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
Definition: mythlogging.h:23
MythScreenType
Screen in which all other widgets are contained and rendered.
Definition: mythscreentype.h:45
ProgLister::m_viewTextList
QStringList m_viewTextList
Definition: proglist.h:110
MythUITextEdit::GetText
QString GetText(void) const
Definition: mythuitextedit.h:47
EditPowerSearchPopup::m_descEdit
MythUITextEdit * m_descEdit
Definition: proglist_helpers.h:125
PowerSearchPopup::m_deleteButton
MythUIButton * m_deleteButton
Definition: proglist_helpers.h:96
MythMainWindow::GetStack
MythScreenStack * GetStack(const QString &stackname)
Definition: mythmainwindow.cpp:329
mythuibuttonlist.h
PowerSearchPopup::recordClicked
void recordClicked(void)
Definition: proglist_helpers.cpp:342
PhrasePopup::Create
bool Create() override
Definition: proglist_helpers.cpp:15
EditPowerSearchPopup::Create
bool Create() override
Definition: proglist_helpers.cpp:412
MythUIButtonList::GetCount
int GetCount() const
Definition: mythuibuttonlist.cpp:1655
PhrasePopup::m_searchType
RecSearchType m_searchType
Definition: proglist_helpers.h:47
PhrasePopup::recordClicked
void recordClicked(void)
Definition: proglist_helpers.cpp:160
proglist.h
ProgLister::UpdateKeywordInDB
void UpdateKeywordInDB(const QString &text, const QString &oldValue)
Definition: proglist.cpp:370
PowerSearchPopup::m_parent
ProgLister * m_parent
Definition: proglist_helpers.h:87
PowerSearchPopup::phraseClicked
void phraseClicked(MythUIButtonListItem *item)
Definition: proglist_helpers.cpp:260
InfoMap
QHash< QString, QString > InfoMap
Definition: mythtypes.h:15
ChannelUtil::SortChannels
static void SortChannels(ChannelInfoList &list, const QString &order, bool eliminate_duplicates=false)
Definition: channelutil.cpp:2280
MythUIButtonListItem
Definition: mythuibuttonlist.h:28
EditPowerSearchPopup::m_categories
QStringList m_categories
Definition: proglist_helpers.h:117
MythUITextEdit::SetText
void SetText(const QString &text, bool moveCursor=true)
Definition: mythuitextedit.cpp:216
proglist_helpers.h
PowerSearchPopup::deleteClicked
void deleteClicked(void)
Definition: proglist_helpers.cpp:308
mythdate.h
EditPowerSearchPopup::m_genreList
MythUIButtonList * m_genreList
Definition: proglist_helpers.h:127
MythUIButtonList::itemClicked
void itemClicked(MythUIButtonListItem *item)
kPowerSearch
@ kPowerSearch
Definition: recordingtypes.h:74
MythUIButtonList::GetCurrentPos
int GetCurrentPos() const
Definition: mythuibuttonlist.h:198
PowerSearchPopup::m_editButton
MythUIButton * m_editButton
Definition: proglist_helpers.h:95
MythScreenType::SetFocusWidget
bool SetFocusWidget(MythUIType *widget=nullptr)
Definition: mythscreentype.cpp:117
PhrasePopup::m_recordButton
MythUIButton * m_recordButton
Definition: proglist_helpers.h:56
MythUIButton::SetText
void SetText(const QString &msg)
Definition: mythuibutton.cpp:229
MSqlQuery::InitCon
static MSqlQueryInfo InitCon(ConnectionReuse _reuse=kNormalConnection)
Only use this in combination with MSqlQuery constructor.
Definition: mythdbcon.cpp:535
ProgLister::m_curView
int m_curView
Definition: proglist.h:108
MythDB::DBError
static void DBError(const QString &where, const MSqlQuery &query)
Definition: mythdb.cpp:178
ProgLister::FillViewList
void FillViewList(const QString &view)
Definition: proglist.cpp:736
MythScreenType::BuildFocusList
void BuildFocusList(void)
Definition: mythscreentype.cpp:222
EditPowerSearchPopup::initLists
void initLists(void)
Definition: proglist_helpers.cpp:475
PhrasePopup::m_list
QStringList m_list
Definition: proglist_helpers.h:48
MythUIType::SetEnabled
void SetEnabled(bool enable)
Definition: mythuitype.cpp:1109
ProgLister::PowerStringToSQL
static bool PowerStringToSQL(const QString &qphrase, QString &output, MSqlBindings &bindings)
Definition: proglist.cpp:538
kNoSearch
@ kNoSearch
Definition: recordingtypes.h:73
ChannelUtil::GetChannels
static ChannelInfoList GetChannels(uint sourceid, bool visible_only, const QString &group_by=QString(), uint channel_groupid=0)
Definition: channelutil.h:240
MSqlEscapeAsAQuery
void MSqlEscapeAsAQuery(QString &query, const MSqlBindings &bindings)
Given a partial query string and a bindings object, escape the string.
Definition: mythdbcon.cpp:928
gCoreContext
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
Definition: mythcorecontext.cpp:60
PhrasePopup::editChanged
void editChanged(void)
Definition: proglist_helpers.cpp:75
PhrasePopup::m_phraseEdit
MythUITextEdit * m_phraseEdit
Definition: proglist_helpers.h:53
PowerSearchPopup::m_list
QStringList m_list
Definition: proglist_helpers.h:89
EditPowerSearchPopup::m_titleEdit
MythUITextEdit * m_titleEdit
Definition: proglist_helpers.h:123
UIUtilDisp::Assign
static bool Assign(ContainerType *container, UIType *&item, const QString &name, bool *err=nullptr)
Definition: mythuiutils.h:27
ProgLister::SetViewFromList
void SetViewFromList(const QString &item)
Definition: proglist.cpp:531
channelutil.h
PowerSearchPopup::m_searchType
RecSearchType m_searchType
Definition: proglist_helpers.h:88
PowerSearchPopup::m_recordButton
MythUIButton * m_recordButton
Definition: proglist_helpers.h:97
MythUIButtonListItem::GetText
QString GetText(const QString &name="") const
Definition: mythuibuttonlist.cpp:3305
channelinfo.h
mythcorecontext.h
mythuitextedit.h
XMLParseBase::LoadWindowFromXML
static bool LoadWindowFromXML(const QString &xmlfile, const QString &windowname, MythUIType *parent)
Definition: xmlparsebase.cpp:692
EditPowerSearchPopup::EditPowerSearchPopup
EditPowerSearchPopup(MythScreenStack *parentStack, ProgLister *parent, QString &currentValue)
Definition: proglist_helpers.cpp:395
MSqlQuery::bindValue
void bindValue(const QString &placeholder, const QVariant &val)
Add a single binding.
Definition: mythdbcon.cpp:864
PowerSearchPopup::Create
bool Create() override
Definition: proglist_helpers.cpp:211
EditPowerSearchPopup::m_currentValue
QString m_currentValue
Definition: proglist_helpers.h:121
MythUIButtonList::GetValue
virtual QString GetValue() const
Definition: mythuibuttonlist.cpp:1609
MythUIText::SetText
virtual void SetText(const QString &text)
Definition: mythuitext.cpp:134
PowerSearchPopup::phraseSelected
void phraseSelected(MythUIButtonListItem *item)
Definition: proglist_helpers.cpp:276
PowerSearchPopup::haveResult
void haveResult(QString item)
GetMythMainWindow
MythMainWindow * GetMythMainWindow(void)
Definition: mythmainwindow.cpp:108
MythUIButtonList::MoveToNamedPosition
bool MoveToNamedPosition(const QString &position_name)
Definition: mythuibuttonlist.cpp:2282
MythUIButtonList::SetItemCurrent
void SetItemCurrent(MythUIButtonListItem *item)
Definition: mythuibuttonlist.cpp:1557
PhrasePopup::m_phraseList
MythUIButtonList * m_phraseList
Definition: proglist_helpers.h:52
EditPowerSearchPopup::m_okButton
MythUIButton * m_okButton
Definition: proglist_helpers.h:130
PhrasePopup::m_deleteButton
MythUIButton * m_deleteButton
Definition: proglist_helpers.h:55
mythuibutton.h
MythUITextEdit::valueChanged
void valueChanged()
PowerSearchPopup::m_phraseEdit
MythUITextEdit * m_phraseEdit
Definition: proglist_helpers.h:94
EditPowerSearchPopup::m_categoryList
MythUIButtonList * m_categoryList
Definition: proglist_helpers.h:126
PhrasePopup::deleteClicked
void deleteClicked(void)
Definition: proglist_helpers.cpp:126
PhrasePopup::haveResult
void haveResult(QString item)
recordingrule.h
EditPowerSearchPopup::m_channels
QStringList m_channels
Definition: proglist_helpers.h:119
PhrasePopup::okClicked
void okClicked(void)
Definition: proglist_helpers.cpp:111
MythScreenStack::AddScreen
virtual void AddScreen(MythScreenType *screen, bool allowFade=true)
Definition: mythscreenstack.cpp:52
query
MSqlQuery query(MSqlQuery::InitCon())
ScheduleEditor
Construct a recording schedule.
Definition: scheduleeditor.h:150
PowerSearchPopup::m_titleText
MythUIText * m_titleText
Definition: proglist_helpers.h:92
EditPowerSearchPopup::okClicked
void okClicked(void)
Definition: proglist_helpers.cpp:449
PowerSearchPopup::m_currentValue
QString m_currentValue
Definition: proglist_helpers.h:90
MythCoreContext::GetSetting
QString GetSetting(const QString &key, const QString &defaultval="")
Definition: mythcorecontext.cpp:919
MSqlQuery::prepare
bool prepare(const QString &query)
QSqlQuery::prepare() is not thread safe in Qt <= 3.3.2.
Definition: mythdbcon.cpp:808
ChannelInfoList
std::vector< ChannelInfo > ChannelInfoList
Definition: channelinfo.h:131