MythTV master
Classes | Functions | Variables
smartplaylist.cpp File Reference
#include <iostream>
#include <unistd.h>
#include <utility>
#include <QKeyEvent>
#include <QSqlDriver>
#include <QSqlField>
#include <libmythbase/mythdate.h>
#include <libmythbase/mythdb.h>
#include <libmythbase/mythlogging.h>
#include <libmythmetadata/musicmetadata.h>
#include <libmythui/mythdialogbox.h>
#include <libmythui/mythmainwindow.h>
#include <libmythui/mythscreentype.h>
#include <libmythui/mythuibutton.h>
#include <libmythui/mythuibuttonlist.h>
#include <libmythui/mythuicheckbox.h>
#include <libmythui/mythuihelper.h>
#include <libmythui/mythuispinbox.h>
#include <libmythui/mythuitext.h>
#include <libmythui/mythuitextedit.h>
#include "musiccommon.h"
#include "musicdata.h"
#include "smartplaylist.h"
Include dependency graph for smartplaylist.cpp:

Go to the source code of this file.

Classes

struct  SmartPLField
 
struct  SmartPLOperator
 

Functions

static const SmartPLOperatorlookupOperator (const QString &name)
 
static const SmartPLFieldlookupField (const QString &name)
 
QString formattedFieldValue (const QVariant &value)
 
static QString evaluateDateValue (QString sDate)
 
QString getCriteriaSQL (const QString &fieldName, const QString &operatorName, QString value1, QString value2)
 
QString getOrderBySQL (const QString &orderByFields)
 
QString getSQLFieldName (const QString &fieldName)
 

Variables

static const std::array< const SmartPLField, 13 > SmartPLFields
 
static const std::array< const SmartPLOperator, 11 > SmartPLOperators
 

Function Documentation

◆ evaluateDateValue()

static QString evaluateDateValue ( QString  sDate)
static

Definition at line 128 of file smartplaylist.cpp.

Referenced by getCriteriaSQL().

◆ formattedFieldValue()

QString formattedFieldValue ( const QVariant &  value)

◆ getCriteriaSQL()

QString getCriteriaSQL ( const QString &  fieldName,
const QString &  operatorName,
QString  value1,
QString  value2 
)

◆ getOrderBySQL()

QString getOrderBySQL ( const QString &  orderByFields)

◆ getSQLFieldName()

QString getSQLFieldName ( const QString &  fieldName)

Definition at line 284 of file smartplaylist.cpp.

◆ lookupField()

static const SmartPLField * lookupField ( const QString &  name)
static

◆ lookupOperator()

static const SmartPLOperator * lookupOperator ( const QString &  name)
static

Variable Documentation

◆ SmartPLFields

const std::array<const SmartPLField,13> SmartPLFields
static
Initial value:
{{
{ .m_name="", .m_sqlName="" },
{ .m_name="Artist", .m_sqlName="music_artists.artist_name" },
{ .m_name="Album", .m_sqlName="music_albums.album_name" },
{ .m_name="Title", .m_sqlName="music_songs.name" },
{ .m_name="Genre", .m_sqlName="music_genres.genre" },
{ .m_name="Year", .m_sqlName="music_songs.year",
.m_type=ftNumeric,
.m_minValue=1900, .m_maxValue=2099, .m_defaultValue=2000 },
{ .m_name="Track No.", .m_sqlName="music_songs.track",
.m_type=ftNumeric, .m_maxValue=99 },
{ .m_name="Rating", .m_sqlName="music_songs.rating",
.m_type=ftNumeric, .m_maxValue=10 },
{ .m_name="Play Count", .m_sqlName="music_songs.numplays",
.m_type=ftNumeric, .m_maxValue=9999 },
{ .m_name="Compilation", .m_sqlName="music_albums.compilation",
.m_type=ftBoolean, .m_maxValue=0 },
{ .m_name="Comp. Artist", .m_sqlName="music_comp_artists.artist_name",
.m_type=ftString, },
{ .m_name="Last Play", .m_sqlName="FROM_DAYS(TO_DAYS(music_songs.lastplay))",
.m_type=ftDate },
{ .m_name="Date Imported", .m_sqlName="FROM_DAYS(TO_DAYS(music_songs.date_entered))",
.m_type=ftDate },
}}
@ ftDate
Definition: smartplaylist.h:26
@ ftBoolean
Definition: smartplaylist.h:27
@ ftNumeric
Definition: smartplaylist.h:25
@ ftString
Definition: smartplaylist.h:24

Definition at line 42 of file smartplaylist.cpp.

Referenced by SmartPlaylistEditor::Create(), SmartPLOrderByDialog::getOrderByFields(), lookupField(), and CriteriaRowEditor::updateFields().

◆ SmartPLOperators

const std::array<const SmartPLOperator,11> SmartPLOperators
static
Initial value:
{{
{ .m_name="is equal to", .m_validForBoolean=true },
{ .m_name="is not equal to", .m_validForBoolean=true },
{ .m_name="is greater than" },
{ .m_name="is less than" },
{ .m_name="starts with", .m_stringOnly=true },
{ .m_name="ends with", .m_stringOnly=true },
{ .m_name="contains", .m_stringOnly=true },
{ .m_name="does not contain", .m_stringOnly=true },
{ .m_name="is between", .m_noOfArguments=2 },
{ .m_name="is set", .m_noOfArguments=0 },
{ .m_name="is not set", .m_noOfArguments=0 },
}}

Definition at line 76 of file smartplaylist.cpp.

Referenced by CriteriaRowEditor::getOperatorList(), lookupOperator(), and CriteriaRowEditor::updateOperators().