рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХрд╛ рд╕рднреА рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдерд╛, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдЙрдмрдВрдЯреВ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреА рддреНрд╡рд░рд┐рдд рддреБрд▓рдирд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдп рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рдзрд┐ рдЖрд╕рд╛рди рдФрд░ рддреЗрдЬ рджрд┐рдЦрд╛рдИ рджреА рд╣реИред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп
qutIM рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрд╕реНрдЯреЙрд▓рд░,
QtSDK рдФрд░
cmake рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред
рдЪрд░рдг рдПрдХ - QtSDK рдФрд░ cmake рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдХреЛрдИ рд╕реВрдХреНрд╖реНрдорддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк Qt (minGW) рд╣рдорд╛рд░реЗ рдорд╛рдереЗ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ cmake рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕реЗ PATH рдЪрд░ рдореЗрдВ qtvars.cmd рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, cmake рдХрд╛ рдорд╛рд░реНрдЧ рд╣реИ
рдЪрд░рдг рджреЛ - рд╕реНрдерд╛рдкрд┐рдд qutIM
рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд╣реАрдВ рд░рдЦрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП C: \ develop \ qutim \ distред рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдореЗрдВ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рд╢реЗрдпрд░ / рдбреЙрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ html рдкреНрд░рд▓реЗрдЦрди рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕рдХреА рд░реВрдкрд░реЗрдЦрд╛, рдкреВрд░реНрдг рдПрдкреАрдЖрдИ рдкреНрд░рд▓реЗрдЦрди рдЕрднреА рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред
рддреАрди рдЪрд░рдг - рд╣рдорд╛рд░реЗ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП CMakeLists.txt рдмрдирд╛рдПрдБ
CMakeLists.txt рдХрд╛ рдПрдХ рдирдореВрдирд╛ рджреГрд╢реНрдп рд╣реЛрдЧрд╛:
cmake_minimum_required (VERSION 2.6 FATAL_ERROR)
if( COMMAND cmake_policy )
cmake_policy( SET CMP0003 NEW )
endif(COMMAND cmake_policy )
project( Plugins )
set(QT_MIN_VERSION "4.6.0")
set(QUTIM_PATH "" CACHE FILEPATH "Path to qutim distro")
set(CMAKE_INSTALL_PREFIX ${QUTIM_PATH})
LIST (APPEND CMAKE_MODULE_PATH "cmake")
LIST (APPEND CMAKE_MODULE_PATH "${QUTIM_PATH}/share/cmake/Modules")
LIST (APPEND CMAKE_PREFIX_PATH "${QUTIM_PATH}")
INCLUDE (MacroEnsureVersion)
find_package(Qt4 COMPONENTS QtCore QtGui)
find_package(QutIM REQUIRED)
include_directories(include)
add_subdirectory(src)
Src рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рдЖрдкрдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде CMakeLists.txt рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛
find_library( SIMPLECONTACTLIST_LIBRARIES simplecontactlist PATHS ${QUTIM_PATH}/lib )
message (${SIMPLECONTACTLIST_LIBRARIES})
qutim_add_plugin(simplecontactlistwidget
EXTENSION
EXTENSION_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/sevenwidget.h
EXTENSION_CLASS Core::SimpleContactList::SimpleWidget
DISPLAY_NAME "Seven"
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
DESCRIPTION "Windows seven specific implementation with button's in caption"
LINK_LIBRARIES ${SIMPLECONTACTLIST_LIBRARIES}
)
рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдкреНрд▓рдЧрдЗрди simplecontactlist.a рд╕реЗ рд▓рд┐рдВрдХ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ cmake рдХреЛ рдмрддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреНрд▓рдЧрдЗрди рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрд╕ рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрдЬрд╛рдп SUBPLUGIN рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ qutim_sdk_0_3 :: рд╕реЗ рдкреНрд▓рдЧ рдЗрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ QUTIM_EXPORT_PLUGIN рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрдиреНрд╕ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЭрд╛рдБрдХреЗрдВред
рдЪрд░рдг рдЪрд╛рд░ - рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓реЗрдЦрди
рд╣рдо рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реА рд╕рдВрдкрд░реНрдХ рд╕реВрдЪреА рдХреЗ рд╣реЗрдбрд░ рдореЗрдВ рдмрдЯрди рдЦреАрдВрдЪреЗрдЧрд╛ред рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд░рд▓ рдХреЙрдиреНрдЯреИрдХреНрдЯрд▓рд┐рд╕реНрдЯ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рд┐рд░реНрдл рдЙрди рдлрд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рд╣рд╛рде рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдкреАрдЖрдИ рдХрд┐рд╕реА рднреА рд╕рдордп рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рд╕рдВрдкрд░реНрдХ рд╕реВрддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ AbstractContactListWidget рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдиреЗ рдФрд░ AddButton рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╡рд┐рдВрдбреЛ рд╢реАрд░реНрд╖рдХ, RemoveButton, рдореЗрдВ рдмрдЯрди рдЬреЛрдбрд╝ рджреЗрдЧрд╛, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджреЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рд╕рдВрдкрд░реНрдХ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдпрд╣ рд╕рдм рд╕реНрд░реЛрдд рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рд╢рд▓рдЬрдо
рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рд╕реЗ рдЧрд┐рдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
m_model = ServiceManager::getByName<AbstractContactModel*>( "ContactModel" );
Q_ASSERT(m_model);
m_view = new TreeView(m_model, this );
layout->addWidget(m_view);
m_view->setItemDelegate(ServiceManager::getByName<QAbstractItemDelegate*>( "ContactDelegate" ));
* This source code was highlighted with Source Code Highlighter .
m_model = ServiceManager::getByName<AbstractContactModel*>( "ContactModel" );
Q_ASSERT(m_model);
m_view = new TreeView(m_model, this );
layout->addWidget(m_view);
m_view->setItemDelegate(ServiceManager::getByName<QAbstractItemDelegate*>( "ContactDelegate" ));
* This source code was highlighted with Source Code Highlighter .
m_model = ServiceManager::getByName<AbstractContactModel*>( "ContactModel" );
Q_ASSERT(m_model);
m_view = new TreeView(m_model, this );
layout->addWidget(m_view);
m_view->setItemDelegate(ServiceManager::getByName<QAbstractItemDelegate*>( "ContactDelegate" ));
* This source code was highlighted with Source Code Highlighter .
рдкрд╛рдВрдЪрд╡рд╛рдВ рдЪрд░рдг - рдирд┐рд░реНрдорд╛рдг
рдмрд╣реБрдд рдкрд╣рд▓реЗ CMakeLists.txt рдпреБрдХреНрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЖрдЧреЗ рдПрдХ рдмрд┐рд▓реНрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдБ, Qt рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдЪрд▓рд╛рдПрдБ, рдЗрд╕реЗ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрдорд╛рдВрдб рдХрд░реЗрдВ:
H:\develop\windows\labs\build>cmake ..\sevenlist -DCMAKE_BUILD_TYPE=Release -DQUTIM_PATH=H:\develop\qutim\dist -G"MinGW Makefiles"
рдкрд░рд┐рдгрд╛рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: H:/apps/QtCreator/mingw/bin/gcc.exe
-- Check for working C compiler: H:/apps/QtCreator/mingw/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: H:/apps/QtCreator/mingw/bin/g++.exe
-- Check for working CXX compiler: H:/apps/QtCreator/mingw/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found.
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.7.2 (using H:/apps/Qt/4.7.2/bin/qmake.exe)
-- Found QutIM: H:/develop/qutim/dist/lib/liblibqutim.dll.a
H:/develop/qutim/dist/lib/libsimplecontactlist.dll.a
-- Configuring done
-- Generating done
-- Build files have been written to: H:/develop/windows/labs/build
рдЕрдм рд╣рдо рдмрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ qutIM рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╕ cutim рдЪрд▓рд╛рддреЗ рд╕рдордп рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рди рдХрд░реЗрдВред рдкреНрд▓рдЧрдЗрди рдХрд╛
рд╕реНрд░реЛрдд рдХреЛрдб
рдЧреАрдЯреЛрд░рд┐рдпрд╕ (рдлрд╝реЛрд▓реНрдбрд░ рд╕рд╛рддрд▓рд╛рд╕реНрдЯ) рдкрд░ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдо рдРрд╕реА рд╕реБрдВрджрд░рддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрднреА рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЬрд░реВрд░рдд рдХреНрдпрд╛ рд╣реИ:
- рдПрдВрдЯреАрд╕реНрдкреИрдо
- рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдкрд░реНрдХ рд░рд╣рд┐рдд рдореЙрдбрд▓
- рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд╛рдЗрд▓ рд╕реНрдЯреЛрд░реЗрдЬ (рдбреНрд░реЙрдкрдмреЙрдХреНрд╕, рдЖрджрд┐) рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг
- рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдиреА рдкрд░реАрдХреНрд╖рдХ
- рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЕрд▓рдЧрд╛рд╡ рдХреЗ рд╕рд╛рде рд╕рдВрдкрд░реНрдХ рдореЙрдбрд▓ (рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рд╛рде)
- рдЕрдм рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓ рд░рд╣рд╛ рд╣реИ
рд╣рдорд╛рд░реЗ рдХреЙрдиреНрдлреНрд░реЗрдВрд╕ рдХреЗ рд╕рднреА API рдкреНрд░рд╢реНрди@conference.qutim.org рдкрд░ рдкреВрдЫреЗрдВред