Members of the KDE Community are recommended to subscribe to the kde-community mailing list at https://mail.kde.org/mailman/listinfo/kde-community to allow them to participate in important discussions and receive other important announcements

Commit bf7448c8 authored by Michael Pyne's avatar Michael Pyne

Merge branch 'frameworks'

Moving 'frameworks' back into master to serve as the active branch of
development.
parents 04566314 9cb7080d
project(juk)
set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake )
find_package( KDE4 REQUIRED )
include( KDE4Defaults )
include( MacroLibrary )
include( CheckIncludeFileCXX )
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
find_package( Taglib 1.6 )
# KDE Application Version, managed by KDE release team automatically
# https://community.kde.org/Guidelines_and_HOWTOs/Application_Versioning
set (KDE_APPLICATIONS_VERSION_MAJOR "17")
set (KDE_APPLICATIONS_VERSION_MINOR "11")
set (KDE_APPLICATIONS_VERSION_MICRO "70")
set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")
include_directories( ${KDE4_INCLUDES} ${QT_INCLUDES} )
project(juk VERSION ${KDE_APPLICATIONS_VERSION})
set(QT_MIN_VERSION "5.6.0")
set(KF5_MIN_VERSION "5.35.0")
find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(CMakePushCheckState)
include(CheckIncludeFileCXX)
include(KDEInstallDirs)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(KDECMakeSettings NO_POLICY_SCOPE)
include(FeatureSummary)
include(ECMInstallIcons)
include(ECMAddAppIcon)
include(ECMQtDeclareLoggingCategory)
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Gui Svg Network Test Widgets)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS CoreAddons Completion Config GlobalAccel
I18n IconThemes DocTools KIO JobWidgets Notifications TextWidgets XmlGui Wallet
WidgetsAddons WindowSystem)
find_package(Phonon4Qt5 4.6.60 REQUIRED NO_MODULE)
find_package(Taglib 1.6 REQUIRED)
include_directories(${CMAKE_BINARY_DIR} ${PHONON_INCLUDES})
add_subdirectory( doc )
add_subdirectory( tests )
add_subdirectory( pics )
macro_optional_find_package(TunePimp)
macro_log_feature(TUNEPIMP_FOUND "TunePimp" "A library for developing MusicBrainz enabled tagging applications" "http://www.musicbrainz.org/products/tunepimp" FALSE "" "Provides MusicBrainz tagging in Juk.")
find_package(TunePimp)
set_package_properties(FEATURE PROPERTIES DESCRIPTION "A library for developing MusicBrainz enabled tagging applications" URL "http://www.musicbrainz.org/products/tunepimp" TYPE OPTIONAL PURPOSE "Provides MusicBrainz tagging in Juk.")
if(TUNEPIMP_FOUND)
set(HAVE_TUNEPIMP 1)
if(TUNEPIMP_FOUND_VERSION_4)
......@@ -27,18 +53,16 @@ else(TUNEPIMP_FOUND)
set(HAVE_TUNEPIMP 0)
endif(TUNEPIMP_FOUND)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}")
########### next target ###############
include_directories( ${TAGLIB_INCLUDES} )
add_definitions(-DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS -DQT_STL)
add_definitions(-DQT_STL -DQT_NO_URL_CAST_FROM_STRING)
# Look for Ogg Opus support in taglib (not released yet)
macro_push_required_vars()
cmake_push_check_state()
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${TAGLIB_INCLUDES})
check_include_file_cxx(opusfile.h TAGLIB_HAS_OPUSFILE)
macro_pop_required_vars()
cmake_pop_check_state()
configure_file (config-juk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-juk.h )
......@@ -75,7 +99,6 @@ set(juk_SRCS ${tunepimp_SRCS}
webimagefetcher.cpp
historyplaylist.cpp
juk.cpp
k3bexporter.cpp
keydialog.cpp
lyricswidget.cpp
main.cpp
......@@ -89,7 +112,6 @@ set(juk_SRCS ${tunepimp_SRCS}
playlist.cpp
playlistbox.cpp
playlistcollection.cpp
playlistexporter.cpp
playlistinterface.cpp
playlistitem.cpp
playlistsearch.cpp
......@@ -100,7 +122,6 @@ set(juk_SRCS ${tunepimp_SRCS}
searchwidget.cpp
slideraction.cpp
sortedstringlist.cpp
splashscreen.cpp
statuslabel.cpp
stringshare.cpp
systemtray.cpp
......@@ -117,13 +138,16 @@ set(juk_SRCS ${tunepimp_SRCS}
ktrm.cpp
viewmode.cpp )
qt4_add_dbus_adaptor( juk_SRCS org.kde.juk.collection.xml
ecm_qt_declare_logging_category(juk_SRCS HEADER juk_debug.h
IDENTIFIER JUK_LOG CATEGORY_NAME org.kde.juk)
qt5_add_dbus_adaptor( juk_SRCS org.kde.juk.collection.xml
dbuscollectionproxy.h DBusCollectionProxy )
qt4_add_dbus_adaptor( juk_SRCS org.kde.juk.player.xml playermanager.h PlayerManager)
qt4_add_dbus_adaptor( juk_SRCS org.kde.juk.search.xml searchwidget.h SearchWidget)
qt5_add_dbus_adaptor( juk_SRCS org.kde.juk.player.xml playermanager.h PlayerManager)
qt5_add_dbus_adaptor( juk_SRCS org.kde.juk.search.xml searchwidget.h SearchWidget)
kde4_add_ui_files(juk_SRCS
ki18n_wrap_ui(juk_SRCS
filerenamerbase.ui
filerenameroptionsbase.ui
directorylistbase.ui
......@@ -135,18 +159,28 @@ kde4_add_ui_files(juk_SRCS
tageditor.ui
)
kde4_add_app_icon(juk_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/hi*-app-juk.png")
kde4_add_executable(juk ${juk_SRCS})
file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/*-apps-juk.png")
ecm_add_app_icon(juk_SRCS ICONS ${ICONS_SRCS})
add_executable(juk ${juk_SRCS})
kde_target_enable_exceptions(juk PRIVATE)
target_compile_definitions(juk PRIVATE QT_USE_QSTRINGBUILDER)
if(NOT MSVC AND NOT ( WIN32 AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" ) )
set( LIBMATH m )
endif(NOT MSVC AND NOT ( WIN32 AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" ) )
endif()
target_link_libraries(juk ${LIBMATH} Qt5::Gui Qt5::Svg Qt5::Widgets
Qt5::Network KF5::ConfigCore KF5::CoreAddons KF5::Completion KF5::GlobalAccel
KF5::KIOCore KF5::KIOWidgets KF5::KIOFileWidgets KF5::JobWidgets KF5::Notifications
KF5::I18n KF5::IconThemes KF5::TextWidgets KF5::XmlGui KF5::WindowSystem
KF5::WidgetsAddons KF5::Wallet Phonon::phonon4qt5 ${TAGLIB_LIBRARIES})
target_link_libraries(juk ${LIBMATH} ${KDE4_KHTML_LIBS} ${TAGLIB_LIBRARIES} ${KDE4_KDE3SUPPORT_LIBS} ${KDE4_PHONON_LIBS})
if(TUNEPIMP_FOUND)
target_link_libraries(juk ${TUNEPIMP_LIBRARIES})
target_link_libraries(juk ${TUNEPIMP_LIBRARIES})
endif(TUNEPIMP_FOUND)
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
install(TARGETS juk ${INSTALL_TARGETS_DEFAULT_ARGS} )
......@@ -154,10 +188,18 @@ install(TARGETS juk ${INSTALL_TARGETS_DEFAULT_ARGS} )
########### install files ###############
install( PROGRAMS org.kde.juk.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
install( FILES juk.notifyrc jukui.rc jukui-rtl.rc DESTINATION ${DATA_INSTALL_DIR}/juk )
install( FILES juk.notifyrc jukui.rc jukui-rtl.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/juk )
install( FILES org.kde.juk.appdata.xml DESTINATION ${SHARE_INSTALL_PREFIX}/metainfo )
install( FILES jukservicemenu.desktop DESTINATION
${SERVICES_INSTALL_DIR}/ServiceMenus )
install( FILES org.kde.juk.collection.xml org.kde.juk.player.xml org.kde.juk.search.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} )
kde4_install_icons( ${ICON_INSTALL_DIR} )
ecm_install_icons(ICONS
128-apps-juk.png
16-apps-juk.png
32-apps-juk.png
48-apps-juk.png
64-apps-juk.png
DESTINATION ${ICON_INSTALL_DIR}
THEME hicolor
)
......@@ -15,10 +15,11 @@
*/
#include "actioncollection.h"
#include "juk.h"
#include <kactioncollection.h>
#include <kdebug.h>
#include "juk.h"
#include "juk_debug.h"
namespace ActionCollection
{
......@@ -43,7 +44,7 @@ namespace ActionCollection
#ifndef NO_DEBUG
QAction *a = actions()->action(key);
if(!a)
kWarning() << "KAction \"" << key << "\" is not defined yet.";
qCWarning(JUK_LOG) << "QAction \"" << key << "\" is not defined yet.";
return a;
#else
return actions()->action(key);
......
/**
* Copyright (C) 2003-2004 Scott Wheeler <wheeler@kde.org>
* Copyright (C) 2017 Michael Pyne <mpyne@kde.org>
*
* 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
......@@ -17,16 +18,17 @@
#include "advancedsearchdialog.h"
#include <kcombobox.h>
#include <klineedit.h>
#include <kpushbutton.h>
#include <klocale.h>
#include <kvbox.h>
#include <KLocalizedString>
#include <KStandardGuiItem>
#include <QDialogButtonBox>
#include <QRadioButton>
#include <QLabel>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QGroupBox>
#include <QPushButton>
#include <QLineEdit>
#include "collectionlist.h"
#include "searchwidget.h"
......@@ -37,54 +39,75 @@
AdvancedSearchDialog::AdvancedSearchDialog(const QString &defaultName,
const PlaylistSearch &defaultSearch,
QWidget *parent,
const char *name) :
KDialog(parent)
QWidget *parent) :
QDialog(parent)
{
setCaption( i18n("Create Search Playlist") );
setButtons( Ok|Cancel );
setDefaultButton( Ok );
setObjectName( QLatin1String( name ) );
setModal(true);
setWindowTitle(i18n("Create Search Playlist"));
setObjectName(QStringLiteral("juk_advSrchDlg"));
KVBox *mw = new KVBox(this);
setMainWidget(mw);
auto mw = new QVBoxLayout(this);
setLayout(mw);
KHBox *box = new KHBox(mw);
box->setSpacing(5);
auto box = new QHBoxLayout;
mw->addLayout(box);
new QLabel(i18n("Playlist name:"), box);
m_playlistNameLineEdit = new KLineEdit(defaultName, box);
box->addWidget(new QLabel(i18n("Playlist name:")));
m_playlistNameLineEdit = new QLineEdit(defaultName);
box->addWidget(m_playlistNameLineEdit);
QGroupBox *criteriaGroupBox = new QGroupBox(i18n("Search Criteria"), mw);
mw->setStretchFactor(criteriaGroupBox, 1);
m_criteriaLayout = new QVBoxLayout;
QGroupBox *group = new QGroupBox();
auto criteriaGroupBox = new QGroupBox(i18n("Search Criteria"));
mw->addWidget(criteriaGroupBox, 1);
m_criteriaLayout = new QVBoxLayout(criteriaGroupBox);
auto group = new QGroupBox;
m_matchAnyButton = new QRadioButton(i18n("Match any of the following"));
m_matchAllButton = new QRadioButton(i18n("Match all of the following"));
QHBoxLayout *hgroupbox = new QHBoxLayout;
QHBoxLayout *hgroupbox = new QHBoxLayout(group);
hgroupbox->addWidget(m_matchAnyButton);
hgroupbox->addWidget(m_matchAllButton);
group->setLayout(hgroupbox);
m_criteriaLayout->addWidget(group);
m_criteriaLayout->addStretch(1); // more()/fewer() assume this is here
QWidget *buttons = new QWidget;
mw->addWidget(buttons);
QHBoxLayout *l = new QHBoxLayout(buttons);
l->setSpacing(5);
l->setMargin(0);
const auto &clearGuiItem = KStandardGuiItem::clear();
QPushButton *clearButton = new QPushButton(clearGuiItem.icon(), clearGuiItem.text());
connect(clearButton, &QPushButton::clicked,
this, &AdvancedSearchDialog::clearSearches);
l->addWidget(clearButton);
l->addStretch(1);
m_moreButton = new QPushButton(i18nc("additional search options", "More"));
connect(m_moreButton, &QPushButton::clicked,
this, &AdvancedSearchDialog::more);
l->addWidget(m_moreButton);
m_fewerButton = new QPushButton(i18n("Fewer"));
connect(m_fewerButton, &QPushButton::clicked,
this, &AdvancedSearchDialog::fewer);
l->addWidget(m_fewerButton);
auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
mw->addWidget(buttonBox);
if(defaultSearch.isNull()) {
SearchLine *newSearchLine = new SearchLine(this);
m_searchLines.append(newSearchLine);
m_criteriaLayout->addWidget(newSearchLine);
newSearchLine = new SearchLine(this);
m_searchLines.append(newSearchLine);
m_criteriaLayout->addWidget(newSearchLine);
this->more();
this->more(); // Create first 2 searches
m_matchAnyButton->setChecked(true);
}
else {
PlaylistSearch::ComponentList components = defaultSearch.components();
for(PlaylistSearch::ComponentList::ConstIterator it = components.constBegin();
it != components.constEnd();
++it)
......@@ -92,58 +115,18 @@ AdvancedSearchDialog::AdvancedSearchDialog(const QString &defaultName,
SearchLine *s = new SearchLine(this);
s->setSearchComponent(*it);
m_searchLines.append(s);
m_criteriaLayout->addWidget(s);
m_criteriaLayout->insertWidget(m_criteriaLayout->count() - 1, s);
}
if(defaultSearch.searchMode() == PlaylistSearch::MatchAny)
m_matchAnyButton->setChecked(true);
else
m_matchAllButton->setChecked(true);
}
QWidget *buttons = new QWidget(mw);
QHBoxLayout *l = new QHBoxLayout(buttons);
l->setSpacing(5);
l->setMargin(0);
KPushButton *clearButton = new KPushButton(KStandardGuiItem::clear(), buttons);
connect(clearButton, SIGNAL(clicked()), SLOT(clear()));
l->addWidget(clearButton);
l->addStretch(1);
m_moreButton = new KPushButton(i18nc("additional search options", "More"), buttons);
connect(m_moreButton, SIGNAL(clicked()), SLOT(more()));
l->addWidget(m_moreButton);
m_fewerButton = new KPushButton(i18n("Fewer"), buttons);
connect(m_fewerButton, SIGNAL(clicked()), SLOT(fewer()));
l->addWidget(m_fewerButton);
m_criteriaLayout->addStretch(1);
criteriaGroupBox->setLayout(m_criteriaLayout);
m_playlistNameLineEdit->setFocus();
}
AdvancedSearchDialog::~AdvancedSearchDialog()
{
}
////////////////////////////////////////////////////////////////////////////////
// public slots
////////////////////////////////////////////////////////////////////////////////
AdvancedSearchDialog::Result AdvancedSearchDialog::exec()
{
Result r;
r.result = DialogCode(KDialog::exec());
r.search = m_search;
r.playlistName = m_playlistName;
return r;
}
////////////////////////////////////////////////////////////////////////////////
// protected slots
////////////////////////////////////////////////////////////////////////////////
......@@ -155,29 +138,28 @@ void AdvancedSearchDialog::accept()
m_search.addPlaylist(CollectionList::instance());
QList<SearchLine *>::const_iterator it = m_searchLines.constBegin();
for(; it != m_searchLines.constEnd(); ++it)
m_search.addComponent((*it)->searchComponent());
for(const auto &searchLine : m_searchLines)
m_search.addComponent(searchLine->searchComponent());
PlaylistSearch::SearchMode m = PlaylistSearch::SearchMode(!m_matchAnyButton->isChecked());
m_search.setSearchMode(m);
m_playlistName = m_playlistNameLineEdit->text();
KDialog::accept();
QDialog::accept();
}
void AdvancedSearchDialog::clear()
void AdvancedSearchDialog::clearSearches()
{
QList<SearchLine *>::const_iterator it = m_searchLines.constBegin();
for(; it != m_searchLines.constEnd(); ++it)
(*it)->clear();
for(auto &searchLine : m_searchLines)
searchLine->clear();
}
void AdvancedSearchDialog::more()
{
SearchLine *searchLine = new SearchLine(this);
m_criteriaLayout->addWidget(searchLine);
// inserting it to keep the trailing stretch item at end
m_criteriaLayout->insertWidget(m_criteriaLayout->count() - 1, searchLine);
m_searchLines.append(searchLine);
searchLine->show();
updateButtons();
......@@ -201,6 +183,4 @@ void AdvancedSearchDialog::updateButtons()
m_fewerButton->setEnabled(m_searchLines.count() > 1);
}
#include "advancedsearchdialog.moc"
// vim: set et sw=4 tw=0 sta:
......@@ -17,44 +17,42 @@
#ifndef ADVANCEDSEARCHDIALOG_H
#define ADVANCEDSEARCHDIALOG_H
#include <kdialog.h>
#include <QDialog>
#include <QList>
#include "playlistsearch.h"
class KLineEdit;
class KPushButton;
class QLineEdit;
class QPushButton;
class QRadioButton;
class SearchLine;
class QBoxLayout;
class AdvancedSearchDialog : public KDialog
class AdvancedSearchDialog : public QDialog
{
Q_OBJECT
public:
struct Result
{
DialogCode result;
PlaylistSearch search;
QString playlistName;
};
explicit AdvancedSearchDialog(const QString &defaultName,
const PlaylistSearch &defaultSearch = PlaylistSearch(),
QWidget *parent = 0,
const char *name = 0);
AdvancedSearchDialog(
const QString& defaultName,
const PlaylistSearch& defaultSearch = PlaylistSearch(),
QWidget* parent = nullptr);
virtual ~AdvancedSearchDialog();
PlaylistSearch resultSearch() const
{
return m_search;
}
public slots:
Result exec();
QString resultPlaylistName() const
{
return m_playlistName;
}
protected slots:
virtual void accept();
virtual void clear();
virtual void more();
virtual void fewer();
void accept() Q_DECL_OVERRIDE;
void clearSearches();
void more();
void fewer();
private:
void updateButtons();
......@@ -63,11 +61,11 @@ private:
PlaylistSearch m_search;
QString m_playlistName;
QList<SearchLine *> m_searchLines;
KLineEdit *m_playlistNameLineEdit;
QLineEdit *m_playlistNameLineEdit;
QRadioButton *m_matchAnyButton;
QRadioButton *m_matchAllButton;
KPushButton *m_moreButton;
KPushButton *m_fewerButton;
QPushButton *m_moreButton;
QPushButton *m_fewerButton;
};
#endif
......
This diff is collapsed.
......@@ -58,8 +58,12 @@ public:
static void loadPlaylists(PlaylistCollection *collection);
static void savePlaylists(const PlaylistList &playlists);
static void ensureAppDataStorageExists();
static bool cacheFileExists();
static QString fileHandleCacheFileName();
static QString playlistsCacheFileName();
bool prepareToLoadCachedItems();
FileHandle loadNextCachedItem();
......
# - Try to find the Taglib library
# Once done this will define
#
# TAGLIB_FOUND - system has the taglib library
# TAGLIB_CFLAGS - the taglib cflags
# TAGLIB_LIBRARIES - The libraries needed to use taglib
# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
if(NOT TAGLIB_MIN_VERSION)
set(TAGLIB_MIN_VERSION "1.4")
endif(NOT TAGLIB_MIN_VERSION)
if(NOT WIN32)
find_program(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS
${BIN_INSTALL_DIR}
)
endif(NOT WIN32)
#reset vars
set(TAGLIB_LIBRARIES)
set(TAGLIB_CFLAGS)
# if taglib-config has been found
if(TAGLIBCONFIG_EXECUTABLE)
exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_VERSION)
if(TAGLIB_VERSION VERSION_LESS "${TAGLIB_MIN_VERSION}")
message(STATUS "TagLib version not found: version searched :${TAGLIB_MIN_VERSION}, found ${TAGLIB_VERSION}")
set(TAGLIB_FOUND FALSE)
else(TAGLIB_VERSION VERSION_LESS "${TAGLIB_MIN_VERSION}")
exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)
exec_program(${TAGLIBCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_CFLAGS)
if(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
set(TAGLIB_FOUND TRUE)
message(STATUS "Found taglib: ${TAGLIB_LIBRARIES}")
endif(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
string(REGEX REPLACE " *-I" ";" TAGLIB_INCLUDES "${TAGLIB_CFLAGS}")
endif(TAGLIB_VERSION VERSION_LESS "${TAGLIB_MIN_VERSION}")
mark_as_advanced(TAGLIB_CFLAGS TAGLIB_LIBRARIES TAGLIB_INCLUDES)
else(TAGLIBCONFIG_EXECUTABLE)
include(FindLibraryWithDebug)
include(FindPackageHandleStandardArgs)
find_path(TAGLIB_INCLUDES
NAMES
tag.h
PATH_SUFFIXES taglib
PATHS
${KDE4_INCLUDE_DIR}
${INCLUDE_INSTALL_DIR}
)
find_library_with_debug(TAGLIB_LIBRARIES
WIN32_DEBUG_POSTFIX d
NAMES tag
PATHS
${KDE4_LIB_DIR}
${LIB_INSTALL_DIR}
)
find_package_handle_standard_args(Taglib DEFAULT_MSG
TAGLIB_INCLUDES TAGLIB_LIBRARIES)
endif(TAGLIBCONFIG_EXECUTABLE)
if(TAGLIB_FOUND)
if(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE)
message(STATUS "Taglib found: ${TAGLIB_LIBRARIES}")
endif(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE)
else(TAGLIB_FOUND)
if(Taglib_FIND_REQUIRED)
message(FATAL_ERROR "Could not find Taglib")
endif(Taglib_FIND_REQUIRED)
endif(TAGLIB_FOUND)
This diff is collapsed.
......@@ -14,8 +14,8 @@
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef COLLECTIONLIST_H
#define COLLECTIONLIST_H
#ifndef JUK_COLLECTIONLIST_H
#define JUK_COLLECTIONLIST_H
#include <QHash>
#include <QVector>
......@@ -113,7 +113,7 @@ public:
CollectionListItem *lookup(const QString &file) const;
virtual CollectionListItem *createItem(const FileHandle &file,
Q3ListViewItem * = 0,
QTreeWidgetItem * = 0,
bool = false);
void emitVisibleColumnsChanged() { emit signalVisibleColumnsChanged(); }
......@@ -136,14 +136,14 @@ public slots:
void slotNewItems(const KFileItemList &items);
void slotRefreshItems(const QList<QPair<KFileItem, KFileItem> > &items);
void slotDeleteItem(const KFileItem &item);
void slotDeleteItems(const KFileItemList &items);