merge from default

--HG--
branch : gsoc2011-kerozcak
This commit is contained in:
kerozcak 2011-07-14 17:17:29 +02:00
commit 660ab4a153
19 changed files with 96 additions and 32 deletions

View file

@ -171,6 +171,7 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS)
OPTION(WITH_STATIC "With static libraries." OFF) OPTION(WITH_STATIC "With static libraries." OFF)
ENDIF(WIN32) ENDIF(WIN32)
OPTION(WITH_STATIC_DRIVERS "With static drivers." OFF) OPTION(WITH_STATIC_DRIVERS "With static drivers." OFF)
OPTION(WITH_STATIC_EXTERNAL "With static external libraries" OFF)
### ###
# GUI toolkits # GUI toolkits
@ -522,6 +523,14 @@ MACRO(SETUP_EXTERNAL)
STRING(REGEX REPLACE "VC/bin/.+" "VC" VC_DIR ${CMAKE_CXX_COMPILER}) STRING(REGEX REPLACE "VC/bin/.+" "VC" VC_DIR ${CMAKE_CXX_COMPILER})
ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES "Common7") ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
ENDIF(MSVC10) ENDIF(MSVC10)
ELSE(WIN32)
IF(CMAKE_FIND_LIBRARY_SUFFIXES AND NOT APPLE)
IF(WITH_STATIC_EXTERNAL)
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
ELSE(WITH_STATIC_EXTERNAL)
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
ENDIF(WITH_STATIC_EXTERNAL AND NOT APPLE)
ENDIF(CMAKE_FIND_LIBRARY_SUFFIXES)
ENDIF(WIN32) ENDIF(WIN32)
IF(WITH_STLPORT) IF(WITH_STLPORT)

View file

@ -124,6 +124,7 @@ sint main(int argc, char **argv)
nlinfo("Welcome to NeL Object Viewer Qt!"); nlinfo("Welcome to NeL Object Viewer Qt!");
} }
QApplication::setGraphicsSystem("raster");
QApplication app(argc, argv); QApplication app(argc, argv);
QSplashScreen *splash = new QSplashScreen(); QSplashScreen *splash = new QSplashScreen();
splash->setPixmap(QPixmap(":/images/nel_ide_load.png")); splash->setPixmap(QPixmap(":/images/nel_ide_load.png"));

View file

@ -1,6 +1,8 @@
<RCC> <RCC>
<qresource prefix="/core"> <qresource prefix="/core">
<file>icons/ic_nel_add_item.png</file> <file>icons/ic_nel_add_item.png</file>
<file>icons/ic_nel_redo.png</file>
<file>icons/ic_nel_undo.png</file>
<file>icons/ic_nel_crash.png</file> <file>icons/ic_nel_crash.png</file>
<file>icons/ic_nel_delete_item.png</file> <file>icons/ic_nel_delete_item.png</file>
<file>icons/ic_nel_down_item.png</file> <file>icons/ic_nel_down_item.png</file>

View file

@ -110,6 +110,8 @@ const char * const ICON_NEW = ":/core/icons/ic_nel_new.png";
const char * const ICON_SAVE = ":/core/icons/ic_nel_save.png"; const char * const ICON_SAVE = ":/core/icons/ic_nel_save.png";
const char * const ICON_SAVE_AS = ":/core/icons/ic_nel_save_as.png"; const char * const ICON_SAVE_AS = ":/core/icons/ic_nel_save_as.png";
const char * const ICON_CRASH = ":/core/icons/ic_nel_crash.png"; const char * const ICON_CRASH = ":/core/icons/ic_nel_crash.png";
const char * const ICON_UNDO = ":/core/icons/ic_nel_undo.png";
const char * const ICON_REDO = ":/core/icons/ic_nel_redo.png";
} // namespace Constants } // namespace Constants
} // namespace Core } // namespace Core

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View file

@ -30,6 +30,7 @@
// Qt includes // Qt includes
#include <QtCore/QCoreApplication> #include <QtCore/QCoreApplication>
#include <QtGui/QUndoView>
#include <QtGui/QtGui> #include <QtGui/QtGui>
namespace Core namespace Core
@ -382,8 +383,17 @@ void MainWindow::createMenus()
m_fileMenu->addAction(m_exitAction); m_fileMenu->addAction(m_exitAction);
m_editMenu = m_menuBar->addMenu(tr("&Edit")); m_editMenu = m_menuBar->addMenu(tr("&Edit"));
m_editMenu->addAction(m_undoGroup->createUndoAction(this)); QAction *undoAction = m_undoGroup->createUndoAction(this);
m_editMenu->addAction(m_undoGroup->createRedoAction(this)); menuManager()->registerAction(undoAction, Constants::UNDO);
undoAction->setIcon(QIcon(Constants::ICON_UNDO));
undoAction->setShortcut(QKeySequence::Undo);
QAction *redoAction = m_undoGroup->createRedoAction(this);
menuManager()->registerAction(redoAction, Constants::REDO);
redoAction->setIcon(QIcon(Constants::ICON_REDO));
redoAction->setShortcut(QKeySequence::Redo);
m_editMenu->addAction(undoAction);
m_editMenu->addAction(redoAction);
m_editMenu->addSeparator(); m_editMenu->addSeparator();
m_editMenu->addAction(m_cutAction); m_editMenu->addAction(m_cutAction);
m_editMenu->addAction(m_copyAction); m_editMenu->addAction(m_copyAction);
@ -398,6 +408,7 @@ void MainWindow::createMenus()
m_viewMenu = m_menuBar->addMenu(tr("&View")); m_viewMenu = m_menuBar->addMenu(tr("&View"));
m_viewMenu->addAction(m_fullscreenAction); m_viewMenu->addAction(m_fullscreenAction);
m_viewMenu->addAction(m_dockWidget->toggleViewAction());
menuManager()->registerMenu(m_viewMenu, Constants::M_VIEW); menuManager()->registerMenu(m_viewMenu, Constants::M_VIEW);
m_toolsMenu = m_menuBar->addMenu(tr("&Tools")); m_toolsMenu = m_menuBar->addMenu(tr("&Tools"));
@ -427,6 +438,13 @@ void MainWindow::createStatusBar()
void MainWindow::createDialogs() void MainWindow::createDialogs()
{ {
m_pluginView = new ExtensionSystem::CPluginView(m_pluginManager, this); m_pluginView = new ExtensionSystem::CPluginView(m_pluginManager, this);
// Create undo/redo command list
m_dockWidget = new QDockWidget("Command List", this);
m_dockWidget->setObjectName(QString::fromUtf8("UndoRedoCommandDockWidget"));
QUndoView *undoView = new QUndoView(m_undoGroup, m_dockWidget);
m_dockWidget->setWidget(undoView);
addDockWidget(Qt::RightDockWidgetArea, m_dockWidget);
} }
void MainWindow::readSettings() void MainWindow::readSettings()

View file

@ -101,6 +101,7 @@ private:
QPalette m_originalPalette; QPalette m_originalPalette;
QString m_lastDir; QString m_lastDir;
QDockWidget *m_dockWidget;
QUndoGroup *m_undoGroup; QUndoGroup *m_undoGroup;
QSettings *m_settings; QSettings *m_settings;

View file

@ -68,7 +68,7 @@ namespace Plugin
{ {
Q_UNUSED(errorString); Q_UNUSED(errorString);
m_plugMan = pluginManager; m_plugMan = pluginManager;
m_logSettingsPage = new CLogSettingsPage(this); m_logSettingsPage = new CLogSettingsPage(this, this);
addAutoReleasedObject(m_logSettingsPage); addAutoReleasedObject(m_logSettingsPage);
return true; return true;
} }

View file

@ -38,8 +38,9 @@ namespace Plugin
class CLogPlugin; class CLogPlugin;
CLogSettingsPage::CLogSettingsPage(QObject *parent) CLogSettingsPage::CLogSettingsPage(CLogPlugin *logPlugin, QObject *parent)
: IOptionsPage(parent), : IOptionsPage(parent),
m_logPlugin(logPlugin),
m_currentPage(NULL), m_currentPage(NULL),
m_error(true), m_error(true),
m_warning(true), m_warning(true),
@ -98,13 +99,7 @@ namespace Plugin
m_info = m_ui.infoCheck->isChecked(); m_info = m_ui.infoCheck->isChecked();
writeSettings(); writeSettings();
ExtensionSystem::IPluginManager *p = Core::ICore::instance()->pluginManager(); m_logPlugin->setDisplayers();
ExtensionSystem::IPlugin *plugin = p->pluginByName("LogPlugin")->plugin();
CLogPlugin* lp = dynamic_cast<CLogPlugin*>(plugin);
if (lp)
{
lp->setDisplayers();
}
} }
void CLogSettingsPage::readSettings() void CLogSettingsPage::readSettings()

View file

@ -29,6 +29,8 @@ class QWidget;
namespace Plugin namespace Plugin
{ {
class CLogPlugin;
/** /**
@class CLogSettingsPage @class CLogSettingsPage
*/ */
@ -36,7 +38,7 @@ namespace Plugin
{ {
Q_OBJECT Q_OBJECT
public: public:
CLogSettingsPage(QObject *parent = 0); CLogSettingsPage(CLogPlugin *logPlugin, QObject *parent = 0);
virtual ~CLogSettingsPage() {} virtual ~CLogSettingsPage() {}
virtual QString id() const; virtual QString id() const;
@ -53,6 +55,7 @@ namespace Plugin
void readSettings(); void readSettings();
void writeSettings(); void writeSettings();
CLogPlugin *m_logPlugin;
QWidget *m_currentPage; QWidget *m_currentPage;
Ui::CLogSettingsPage m_ui; Ui::CLogSettingsPage m_ui;

View file

@ -239,14 +239,14 @@ SkinNbMaxPoly_ps1 = 70000;
SkinNbMaxPoly_ps2 = 100000; SkinNbMaxPoly_ps2 = 100000;
SkinNbMaxPoly_ps3 = 200000; SkinNbMaxPoly_ps3 = 200000;
NbMaxSkeletonNotCLod = 50; NbMaxSkeletonNotCLod = 125;
NbMaxSkeletonNotCLod_min = 5; NbMaxSkeletonNotCLod_min = 5;
NbMaxSkeletonNotCLod_max = 100; NbMaxSkeletonNotCLod_max = 255;
NbMaxSkeletonNotCLod_step = 5; NbMaxSkeletonNotCLod_step = 5;
NbMaxSkeletonNotCLod_ps0 = 10; NbMaxSkeletonNotCLod_ps0 = 10;
NbMaxSkeletonNotCLod_ps1 = 25; NbMaxSkeletonNotCLod_ps1 = 50;
NbMaxSkeletonNotCLod_ps2 = 50; NbMaxSkeletonNotCLod_ps2 = 125;
NbMaxSkeletonNotCLod_ps3 = 100; NbMaxSkeletonNotCLod_ps3 = 255;
CharacterFarClip = 200.0; CharacterFarClip = 200.0;
CharacterFarClip_min = 50.0; CharacterFarClip_min = 50.0;
@ -386,21 +386,21 @@ SystemInfoColors =
}; };
PrintfCommands = { PrintfCommands = {
"52", "15", "55 55 0 255", "28", "uiChapterIV", "624", "52", "15", "55 55 0 255", "28", "uiChapterV", "624",
"428", "0 0 0 255", "18", "", "624", "378", "428", "0 0 0 255", "18", "", "624", "378",
"0 0 0 255", "14", "", "644", "278", "0 0 0 255", "0 0 0 255", "14", "", "644", "278", "0 0 0 255",
"18", "", "52", "17", "255 255 255 255", "28", "18", "", "52", "17", "255 255 255 255", "28",
"uiChapterIV", "622", "430", "255 255 255 255", "18", "", "uiChapterV", "622", "430", "255 255 255 255", "18", "",
"622", "380", "255 255 255 255", "14", "", "642", "622", "380", "255 255 255 255", "14", "", "642",
"280", "255 255 255 255", "18", "" "280", "255 255 255 255", "18", ""
}; };
PrintfCommandsFreeTrial = { PrintfCommandsFreeTrial = {
"52", "15", "55 55 0 255", "28", "uiChapterIV", "624", "52", "15", "55 55 0 255", "28", "uiChapterV", "624",
"428", "0 0 0 255", "18", "", "624", "378", "428", "0 0 0 255", "18", "", "624", "378",
"0 0 0 255", "14", "", "644", "278", "0 0 0 255", "0 0 0 255", "14", "", "644", "278", "0 0 0 255",
"18", "", "52", "17", "255 255 255 255", "28", "18", "", "52", "17", "255 255 255 255", "28",
"uiChapterIV", "622", "430", "255 255 255 255", "18", "", "uiChapterV", "622", "430", "255 255 255 255", "18", "",
"622", "380", "255 255 255 255", "14", "", "642", "622", "380", "255 255 255 255", "14", "", "642",
"280", "255 255 255 255", "18", "" "280", "255 255 255 255", "18", ""
}; };

View file

@ -4484,8 +4484,9 @@ bool CCharacterCL::isCurrentBehaviourAttackEnd() const
case MBEHAV::AREA_ATTACK: case MBEHAV::AREA_ATTACK:
return true; return true;
default: default:
return false; break;
} }
return false;
} }

View file

@ -48,6 +48,7 @@
#include "view_bitmap.h" #include "view_bitmap.h"
#include "action_handler_tools.h" #include "action_handler_tools.h"
#include "../connection.h" #include "../connection.h"
#include "../client_chat_manager.h"
// Game specific includes // Game specific includes
#include "../motion/user_controls.h" #include "../motion/user_controls.h"
@ -99,6 +100,8 @@ extern bool IsInRingSession;
// Context help // Context help
extern void contextHelp (const std::string &help); extern void contextHelp (const std::string &help);
extern CClientChatManager ChatMngr;
void beastOrder (const std::string &orderStr, const std::string &beastIndexStr, bool confirmFree = true); void beastOrder (const std::string &orderStr, const std::string &beastIndexStr, bool confirmFree = true);
@ -973,6 +976,9 @@ public:
// Create the message for the server to execute a phrase. // Create the message for the server to execute a phrase.
sendMsgToServer("GUILD:QUIT"); sendMsgToServer("GUILD:QUIT");
CGuildManager::getInstance()->closeAllInterfaces(); CGuildManager::getInstance()->closeAllInterfaces();
if (PeopleInterraction.TheUserChat.Filter.getTargetGroup() == CChatGroup::guild)
ChatMngr.updateChatModeAndButton(CChatGroup::say);
} }
}; };
REGISTER_ACTION_HANDLER( CHandlerDoQuitGuild, "do_quit_guild"); REGISTER_ACTION_HANDLER( CHandlerDoQuitGuild, "do_quit_guild");

View file

@ -79,6 +79,10 @@ bool CDBViewNumber::parse (xmlNodePtr cur, CInterfaceGroup * parentGroup)
if (ptr) _Positive = convertBool(ptr); if (ptr) _Positive = convertBool(ptr);
else _Positive = false; else _Positive = false;
ptr = xmlGetProp (cur, (xmlChar*)"format");
if (ptr) _Format = convertBool(ptr);
else _Format = false;
ptr = xmlGetProp (cur, (xmlChar*)"divisor"); ptr = xmlGetProp (cur, (xmlChar*)"divisor");
if (ptr) fromString((const char*)ptr, _Divisor); if (ptr) fromString((const char*)ptr, _Divisor);
@ -98,6 +102,30 @@ bool CDBViewNumber::parse (xmlNodePtr cur, CInterfaceGroup * parentGroup)
return true; return true;
} }
// ***************************************************************************
// Helper function
ucstring formatThousands(const ucstring& s, const ucstring& separator)
{
int j;
int k;
int topI = s.length() - 1;
if (topI < 4) return s;
ucstring ns;
do
{
for (j = topI, k = 0; j >= 0 && k < 3; --j, ++k )
{
ns = s[j] + ns; // new char is added to front of ns
if( j > 0 && k == 2) ns = separator + ns; // j > 0 means still more digits
}
topI -= 3;
} while(topI >= 0);
return ns;
}
// *************************************************************************** // ***************************************************************************
void CDBViewNumber::checkCoords() void CDBViewNumber::checkCoords()
{ {
@ -106,8 +134,10 @@ void CDBViewNumber::checkCoords()
if (_Cache != val) if (_Cache != val)
{ {
_Cache= val; _Cache= val;
if (_Positive) setText(val >= 0 ? ((string)_Prefix)+toString(val)+(string)_Suffix : "?"); static ucstring separator = NLMISC::CI18N::get("uiThousandsSeparator");
else setText( ((string)_Prefix)+toString(val)+(string)_Suffix ); ucstring value = _Format ? formatThousands(toString(val), separator) : toString(val);
if (_Positive) setText(val >= 0 ? ( ucstring(_Prefix) + value + ucstring(_Suffix) ) : ucstring("?"));
else setText( ucstring(_Prefix) + value + ucstring(_Suffix) );
} }
} }

View file

@ -57,6 +57,7 @@ protected:
CInterfaceProperty _Number; CInterfaceProperty _Number;
sint64 _Cache; sint64 _Cache;
bool _Positive; // only positive values are displayed bool _Positive; // only positive values are displayed
bool _Format; // the number will be formatted (like "1,000,000") if >= 10k
sint64 _Divisor, _Modulo; sint64 _Divisor, _Modulo;
// string to append to the value (eg: meters) // string to append to the value (eg: meters)
CStringShared _Suffix; CStringShared _Suffix;

View file

@ -3540,7 +3540,8 @@ int CGroupHTML::luaShowDiv(CLuaState &ls)
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TSTRING); CLuaIHM::checkArgType(ls, funcName, 1, LUA_TSTRING);
CLuaIHM::checkArgType(ls, funcName, 2, LUA_TBOOLEAN); CLuaIHM::checkArgType(ls, funcName, 2, LUA_TBOOLEAN);
if (!_Groups.empty()) { if (!_Groups.empty())
{
for (uint i=0; i<_Groups.size(); i++) for (uint i=0; i<_Groups.size(); i++)
{ {
CInterfaceGroup *group = _Groups[i]; CInterfaceGroup *group = _Groups[i];

View file

@ -29,7 +29,6 @@
#include "group_html.h" #include "group_html.h"
#include "../init_main_loop.h" #include "../init_main_loop.h"
#include "inventory_manager.h" #include "inventory_manager.h"
#include "../client_chat_manager.h"
#include "../connection.h" #include "../connection.h"
#include "../entity_cl.h" #include "../entity_cl.h"
@ -49,7 +48,6 @@ using namespace std;
using namespace NLMISC; using namespace NLMISC;
extern CPeopleInterraction PeopleInterraction; extern CPeopleInterraction PeopleInterraction;
extern CClientChatManager ChatMngr;
NLMISC_REGISTER_OBJECT(CViewBase, CDBGroupListAscensor, std::string, "list_sheet_guild"); NLMISC_REGISTER_OBJECT(CViewBase, CDBGroupListAscensor, std::string, "list_sheet_guild");
@ -541,10 +539,6 @@ void CGuildManager::closeAllInterfaces()
CGroupContainer *pGuildChat = dynamic_cast<CGroupContainer*>(pIM->getElementFromId(WIN_GUILD_CHAT)); CGroupContainer *pGuildChat = dynamic_cast<CGroupContainer*>(pIM->getElementFromId(WIN_GUILD_CHAT));
if (pGuildChat != NULL) if (pGuildChat != NULL)
pGuildChat->setActive(false); pGuildChat->setActive(false);
if (PeopleInterraction.TheUserChat.Filter.getTargetGroup() == CChatGroup::guild)
ChatMngr.updateChatModeAndButton(CChatGroup::say);
} }
// *************************************************************************** // ***************************************************************************

View file

@ -1390,7 +1390,7 @@ void CInterfaceManager::runActionHandler (const string &ahCmdLine, CCtrlBase *pC
if(!ahUserParams.empty()) if(!ahUserParams.empty())
ahParams= ahUserParams; ahParams= ahUserParams;
// Execute the action hanlder // Execute the action handler
CActionHandlerFactoryManager *pAHFM = CActionHandlerFactoryManager::getInstance(); CActionHandlerFactoryManager *pAHFM = CActionHandlerFactoryManager::getInstance();
map<string, IActionHandler*>::iterator it = pAHFM->FactoryMap.find (ahName); map<string, IActionHandler*>::iterator it = pAHFM->FactoryMap.find (ahName);
if (it == pAHFM->FactoryMap.end()) if (it == pAHFM->FactoryMap.end())