From 34a02000cacc2c553d11e19c09d9d11b9c46eafd Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sun, 14 Dec 2008 21:53:44 +0100 Subject: Fixed inconsistency in default window sizes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The default window sizes were all too small, since they were specified in content size. On pressing "Reset Windows", the sizes would be interpreted as such and apply alright. The inconsistency is now removed, and the default window sizes are always the size of the whole widget now, not just the contents. Signed-off-by: Bjørn Lindeijer (cherry picked from eAthena branch, commit 72f5288682f46af1f7c04c002172178c880e060b) Conflicts: src/gui/chat.cpp src/gui/equipmentwindow.cpp src/gui/inventorywindow.cpp src/gui/ministatus.cpp src/gui/setup.cpp src/gui/skill.cpp src/gui/trade.cpp src/gui/window.cpp --- src/gui/window.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/gui/window.cpp') diff --git a/src/gui/window.cpp b/src/gui/window.cpp index e498236a..37c61520 100644 --- a/src/gui/window.cpp +++ b/src/gui/window.cpp @@ -248,7 +248,7 @@ void Window::setMaxHeight(unsigned int height) void Window::setResizable(bool r) { - if ((bool)mGrip == r) return; + if ((bool) mGrip == r) return; if (r) { @@ -269,7 +269,7 @@ void Window::widgetResized(const gcn::Event &event) { if (mGrip) { - gcn::Rectangle const &area = getChildrenArea(); + const gcn::Rectangle area = getChildrenArea(); mGrip->setPosition(getWidth() - mGrip->getWidth() - area.x, getHeight() - mGrip->getHeight() - area.y); } @@ -497,7 +497,7 @@ void Window::setDefaultSize(int defaultX, int defaultY, void Window::resetToDefaultSize() { setPosition(mDefaultX, mDefaultY); - setContentSize(mDefaultWidth, mDefaultHeight); + setSize(mDefaultWidth, mDefaultHeight); } int Window::getResizeHandles(gcn::MouseEvent &event) -- cgit v1.2.3-70-g09d2 From 1b3cb122be1a418ce82b66fb9ce1ecf3aa5813fb Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Wed, 17 Dec 2008 20:10:51 +0100 Subject: Code reformatting Mainly making sure 'const std::string &' is used everywhere instead of 'std::string const &'. The former has always been the preferred order in this project. --- src/animatedsprite.h | 27 ++++++++------------- src/being.cpp | 1 + src/being.h | 9 +++---- src/channelmanager.cpp | 45 +++++++++++++++++------------------ src/channelmanager.h | 7 ++++-- src/gui/chat.cpp | 49 ++++++++++++++------------------------- src/gui/chat.h | 31 ++++++++++--------------- src/gui/npclistdialog.cpp | 2 +- src/gui/npclistdialog.h | 2 +- src/gui/widgets/avatar.cpp | 16 ++++--------- src/gui/widgets/avatar.h | 8 +++---- src/gui/window.cpp | 7 +++--- src/gui/window.h | 2 +- src/localplayer.cpp | 7 ++---- src/properties.h | 15 +++++------- src/resources/dye.cpp | 6 ++--- src/resources/dye.h | 6 ++--- src/resources/imageloader.cpp | 2 +- src/resources/imageloader.h | 3 ++- src/resources/resourcemanager.cpp | 12 +++++----- src/resources/resourcemanager.h | 9 +++---- src/resources/spritedef.cpp | 31 ++++++++++--------------- src/resources/spritedef.h | 23 +++++++----------- tools/dyecmd/src/dye.cpp | 6 ++--- tools/dyecmd/src/dye.h | 6 ++--- 25 files changed, 144 insertions(+), 188 deletions(-) (limited to 'src/gui/window.cpp') diff --git a/src/animatedsprite.h b/src/animatedsprite.h index 405bf42e..41857d8f 100644 --- a/src/animatedsprite.h +++ b/src/animatedsprite.h @@ -50,7 +50,8 @@ class AnimatedSprite * @param filename the file of the sprite to animate * @param variant the sprite variant */ - static AnimatedSprite *load(std::string const &filename, int variant = 0); + static AnimatedSprite *load(const std::string &filename, + int variant = 0); /** * Destructor. @@ -60,50 +61,42 @@ class AnimatedSprite /** * Resets the animated sprite. */ - void - reset(); + void reset(); /** * Plays an action using the current direction */ - void - play(SpriteAction action); + void play(SpriteAction action); /** * Inform the animation of the passed time so that it can output the * correct animation frame. */ - void - update(int time); + void update(int time); /** * Draw the current animation frame at the coordinates given in screen * pixels. */ - bool - draw(Graphics* graphics, int posX, int posY) const; + bool draw(Graphics* graphics, int posX, int posY) const; /** * gets the width in pixels of the image of the current frame */ - int - getWidth() const; + int getWidth() const; /** * gets the height in pixels of the image of the current frame */ - int - getHeight() const; + int getHeight() const; /** * Sets the direction. */ - void - setDirection(SpriteDirection direction); + void setDirection(SpriteDirection direction); private: - bool - updateCurrentAnimation(unsigned int dt); + bool updateCurrentAnimation(unsigned int dt); SpriteDirection mDirection; /**< The sprite direction. */ int mLastTime; /**< The last time update was called. */ diff --git a/src/being.cpp b/src/being.cpp index 7c37d8e3..d32ffa59 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -122,6 +122,7 @@ void Being::setPosition(const Vector &pos) { mPos = pos; mDest = pos; + mPath.clear(); } void Being::adjustCourse(int srcX, int srcY, int dstX, int dstY) diff --git a/src/being.h b/src/being.h index f9e6c58f..aeb03564 100644 --- a/src/being.h +++ b/src/being.h @@ -130,14 +130,14 @@ class Being : public Sprite const Vector &getDestination() const { return mDest; } /** - * Adjusts course to expected stat point. + * Adjusts course to expected start point. */ - void adjustCourse(int, int); + void adjustCourse(int srcX, int srcY); /** * Adjusts course to expected start and end points. */ - void adjustCourse(int, int, int, int); + void adjustCourse(int srcX, int srcY, int destX, int destY); /** * Puts a "speech balloon" above this being for the specified amount @@ -298,7 +298,8 @@ class Being : public Sprite int getPixelY() const { return (int) mPos.y; } /** - * Sets the position of this being. + * Sets the position of this being. When the being was walking, it also + * clears the destination and the path. */ void setPosition(const Vector &pos); diff --git a/src/channelmanager.cpp b/src/channelmanager.cpp index a332edbb..2a3f4eff 100644 --- a/src/channelmanager.cpp +++ b/src/channelmanager.cpp @@ -19,8 +19,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include - #include "channelmanager.h" #include "channel.h" @@ -28,7 +26,6 @@ ChannelManager::ChannelManager() { - } ChannelManager::~ChannelManager() @@ -37,39 +34,43 @@ ChannelManager::~ChannelManager() mChannels.clear(); } -Channel* ChannelManager::findById(int id) +Channel *ChannelManager::findById(int id) const { - Channel* channel; - for(std::list::iterator itr = mChannels.begin(); - itr != mChannels.end(); - itr++) + Channel *channel = 0; + for (std::list::const_iterator itr = mChannels.begin(), + end = mChannels.end(); + itr != end; + itr++) { - channel = (*itr); - if(channel->getId() == id) + Channel *c = (*itr); + if (channel->getId() == id) { - return channel; + channel = c; + break; } } - return NULL; + return channel; } -Channel *ChannelManager::findByName(std::string const &name) +Channel *ChannelManager::findByName(const std::string &name) const { - Channel* channel; - if(name != "") + Channel *channel = 0; + if (!name.empty()) { - for(std::list::iterator itr = mChannels.begin(); - itr != mChannels.end(); - itr++) + for (std::list::const_iterator itr = mChannels.begin(), + end = mChannels.end(); + itr != end; + itr++) { - channel = (*itr); - if(channel->getName() == name) + Channel *c = (*itr); + if (c->getName() == name) { - return channel; + channel = c; + break; } } } - return NULL; + return channel; } void ChannelManager::addChannel(Channel *channel) diff --git a/src/channelmanager.h b/src/channelmanager.h index c19c548a..e42a5960 100644 --- a/src/channelmanager.h +++ b/src/channelmanager.h @@ -32,10 +32,13 @@ class ChannelManager public: ChannelManager(); ~ChannelManager(); - Channel* findById(int id); - Channel *findByName(std::string const &name); + + Channel *findById(int id) const; + Channel *findByName(const std::string &name) const; + void addChannel(Channel *channel); void removeChannel(Channel *channel); + private: std::list mChannels; }; diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp index c9663192..5bd661d6 100644 --- a/src/gui/chat.cpp +++ b/src/gui/chat.cpp @@ -97,7 +97,7 @@ ChatWindow::~ChatWindow() delete mChatTabs; } -const std::string& ChatWindow::getFocused() const +const std::string &ChatWindow::getFocused() const { return mChatTabs->getSelectedTab()->getCaption(); } @@ -151,8 +151,7 @@ void ChatWindow::logic() } } -void -ChatWindow::chatLog(std::string line, int own, std::string channelName) +void ChatWindow::chatLog(std::string line, int own, std::string channelName) { if(channelName.empty()) channelName = getFocused(); @@ -240,8 +239,7 @@ ChatWindow::chatLog(std::string line, int own, std::string channelName) scroll->logic(); } -void -ChatWindow::action(const gcn::ActionEvent &event) +void ChatWindow::action(const gcn::ActionEvent &event) { if (event.getId() == "chatinput") { @@ -274,8 +272,7 @@ ChatWindow::action(const gcn::ActionEvent &event) } } -void -ChatWindow::requestChatFocus() +void ChatWindow::requestChatFocus() { // Make sure chatWindow is visible if (!isVisible()) @@ -295,13 +292,12 @@ ChatWindow::requestChatFocus() mChatInput->requestFocus(); } -bool -ChatWindow::isInputFocused() +bool ChatWindow::isInputFocused() { return mChatInput->isFocused(); } -void ChatWindow::chatSend(std::string const &msg) +void ChatWindow::chatSend(const std::string &msg) { if (msg.empty()) return; @@ -327,20 +323,17 @@ void ChatWindow::chatSend(std::string const &msg) } } -void -ChatWindow::removeChannel(short channelId) +void ChatWindow::removeChannel(short channelId) { removeChannel(channelManager->findById(channelId)); } -void -ChatWindow::removeChannel(const std::string &channelName) +void ChatWindow::removeChannel(const std::string &channelName) { removeChannel(channelManager->findByName(channelName)); } -void -ChatWindow::removeChannel(Channel *channel) +void ChatWindow::removeChannel(Channel *channel) { if (channel) { @@ -356,8 +349,7 @@ ChatWindow::removeChannel(Channel *channel) } } -void -ChatWindow::createNewChannelTab(const std::string &channelName) +void ChatWindow::createNewChannelTab(const std::string &channelName) { // Create new channel BrowserBox *textOutput = new BrowserBox(BrowserBox::AUTO_WRAP); @@ -384,8 +376,9 @@ ChatWindow::createNewChannelTab(const std::string &channelName) logic(); } -void -ChatWindow::sendToChannel(short channelId, const std::string &user, const std::string &msg) +void ChatWindow::sendToChannel(short channelId, + const std::string &user, + const std::string &msg) { Channel *channel = channelManager->findById(channelId); if (channel) @@ -395,8 +388,7 @@ ChatWindow::sendToChannel(short channelId, const std::string &user, const std::s } } -void -ChatWindow::keyPressed(gcn::KeyEvent &event) +void ChatWindow::keyPressed(gcn::KeyEvent &event) { if (event.getKey().getValue() == Key::DOWN && mCurHist != mHistory.end()) @@ -421,15 +413,13 @@ ChatWindow::keyPressed(gcn::KeyEvent &event) } } -void -ChatWindow::setInputText(std::string input_str) +void ChatWindow::setInputText(std::string input_str) { mChatInput->setText(input_str + " "); requestChatFocus(); } -void -ChatWindow::setVisible(bool isVisible) +void ChatWindow::setVisible(bool isVisible) { Window::setVisible(isVisible); @@ -440,11 +430,8 @@ ChatWindow::setVisible(bool isVisible) mTmpVisible = false; } -bool -ChatWindow::tabExists(const std::string &tabName) +bool ChatWindow::tabExists(const std::string &tabName) { Tab *tab = mChatTabs->getTab(tabName); - if (tab) - return true; - return false; + return tab != 0; } diff --git a/src/gui/chat.h b/src/gui/chat.h index a41b11fb..8ca0e4c9 100644 --- a/src/gui/chat.h +++ b/src/gui/chat.h @@ -118,41 +118,34 @@ class ChatWindow : public Window, * @param msg The message text which is to be sent. * */ - void chatSend(std::string const &msg); + void chatSend(const std::string &msg); /** Called to remove the channel from the channel manager */ - void - removeChannel(short channelId); + void removeChannel(short channelId); - void - removeChannel(const std::string &channelName); + void removeChannel(const std::string &channelName); - void - removeChannel(Channel *channel); + void removeChannel(Channel *channel); /** Called to create a new channel tab */ - void - createNewChannelTab(const std::string &channelName); + void createNewChannelTab(const std::string &channelName); /** Called to output text to a specific channel */ - void - sendToChannel(short channel, const std::string &user, const std::string &msg); + void sendToChannel(short channel, + const std::string &user, + const std::string &msg); /** Called when key is pressed */ - void - keyPressed(gcn::KeyEvent &event); + void keyPressed(gcn::KeyEvent &event); /** Called to set current text */ - void - setInputText(std::string input_str); + void setInputText(std::string input_str); /** Override to reset mTmpVisible */ - void - setVisible(bool visible); + void setVisible(bool visible); /** Check if tab with that name already exists */ - bool - tabExists(const std::string &tabName); + bool tabExists(const std::string &tabName); void logic(); diff --git a/src/gui/npclistdialog.cpp b/src/gui/npclistdialog.cpp index 57783d96..c55255ea 100644 --- a/src/gui/npclistdialog.cpp +++ b/src/gui/npclistdialog.cpp @@ -76,7 +76,7 @@ std::string NpcListDialog::getElementAt(int i) return mItems[i]; } -void NpcListDialog::addItem(std::string const &item) +void NpcListDialog::addItem(const std::string &item) { mItems.push_back(item); } diff --git a/src/gui/npclistdialog.h b/src/gui/npclistdialog.h index 9d970ac2..65281f58 100644 --- a/src/gui/npclistdialog.h +++ b/src/gui/npclistdialog.h @@ -73,7 +73,7 @@ class NpcListDialog : public Window, public gcn::ActionListener, /** * Adds an item to the option list. */ - void addItem(std::string const &); + void addItem(const std::string &); /** * Resets the list by removing all items. diff --git a/src/gui/widgets/avatar.cpp b/src/gui/widgets/avatar.cpp index 68ce5243..9fcd00a6 100644 --- a/src/gui/widgets/avatar.cpp +++ b/src/gui/widgets/avatar.cpp @@ -33,23 +33,17 @@ Avatar::Avatar(const std::string &name): mLabel = new gcn::Label(name); mLabel->setSize(85, 12); mLabel->setPosition(25, 0); - mStatusOffline = ResourceManager::getInstance()->getImage("graphics/gui/circle-gray.png"); - mStatusOnline = ResourceManager::getInstance()->getImage("graphics/gui/circle-green.png"); + ResourceManager *resman = ResourceManager::getInstance(); + mStatusOffline = resman->getImage("graphics/gui/circle-gray.png"); + mStatusOnline = resman->getImage("graphics/gui/circle-green.png"); mStatus = new Icon(mStatusOffline); mStatus->setSize(25, 12); mStatus->setPosition(0, 0); } -void Avatar::setOnline(bool status) +void Avatar::setOnline(bool online) { - if (status) - { - mStatus->setImage(mStatusOnline); - } - else - { - mStatus->setImage(mStatusOffline); - } + mStatus->setImage(online ? mStatusOnline : mStatusOffline); } void Avatar::draw(gcn::Graphics *g) diff --git a/src/gui/widgets/avatar.h b/src/gui/widgets/avatar.h index 0f657895..c6151020 100644 --- a/src/gui/widgets/avatar.h +++ b/src/gui/widgets/avatar.h @@ -33,18 +33,18 @@ class Avatar : public gcn::Widget { public: /** - * Constructor + * Constructor. * @param name Character name */ Avatar(const std::string &name); /** - * Set the avatar online status + * Set the avatar online status. */ - void setOnline(bool status); + void setOnline(bool online); /** - * Draws the Avatar + * Draws the avatar. */ void draw(gcn::Graphics *g); diff --git a/src/gui/window.cpp b/src/gui/window.cpp index 37c61520..9dc70189 100644 --- a/src/gui/window.cpp +++ b/src/gui/window.cpp @@ -129,7 +129,7 @@ Window::~Window() { logger->log("UNLOAD: Window::~Window(\"%s\")", getCaption().c_str()); - std::string const &name = mConfigName; + const std::string &name = mConfigName; if (!name.empty()) { // Saving X, Y and Width and Height for resizables in the config @@ -179,10 +179,9 @@ void Window::setWindowContainer(WindowContainer *wc) void Window::draw(gcn::Graphics *graphics) { - if(mAlphaChanged) + if (mAlphaChanged) setGuiAlpha(); - Graphics *g = static_cast(graphics); //g->drawImageRect(0, 0, getWidth(), getHeight(), border); @@ -467,7 +466,7 @@ void Window::mouseDragged(gcn::MouseEvent &event) } } -void Window::loadWindowState(std::string const &name) +void Window::loadWindowState(const std::string &name) { mConfigName = name; diff --git a/src/gui/window.h b/src/gui/window.h index 22355572..493bce37 100644 --- a/src/gui/window.h +++ b/src/gui/window.h @@ -198,7 +198,7 @@ class Window : public gcn::Window, gcn::WidgetListener * Don't forget to set these default values and resizable before * calling this function. */ - void loadWindowState(std::string const &); + void loadWindowState(const std::string &); /** * Set the default win pos and size. diff --git a/src/localplayer.cpp b/src/localplayer.cpp index 14d253c0..ffb4aac9 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -353,10 +353,7 @@ void LocalPlayer::setDestination(Uint16 x, Uint16 y) void LocalPlayer::setWalkingDir(int dir) { - if (mWalkingDir != dir) - { - mWalkingDir = dir; - } + mWalkingDir = dir; // If we're not already walking, start walking. if (mAction != WALK && dir @@ -368,7 +365,7 @@ void LocalPlayer::setWalkingDir(int dir) void LocalPlayer::stopWalking(bool sendToServer) { - if(mAction == WALK && mWalkingDir){ + if (mAction == WALK && mWalkingDir) { mWalkingDir = 0; mLocalWalkTime = 0; Being::setDestination(getPosition().x,getPosition().y); diff --git a/src/properties.h b/src/properties.h index 2eafeeca..a593e8c2 100644 --- a/src/properties.h +++ b/src/properties.h @@ -35,8 +35,7 @@ class Properties /** * Destructor. */ - virtual - ~Properties() {} + virtual ~Properties() {} /** * Get a map property. @@ -46,8 +45,8 @@ class Properties * @return the value of the given property or the given default when it * doesn't exist. */ - const std::string& - getProperty(const std::string &name, const std::string &def = "") const + const std::string &getProperty(const std::string &name, + const std::string &def = "") const { PropertyMap::const_iterator i = mProperties.find(name); return (i != mProperties.end()) ? i->second : def; @@ -61,7 +60,7 @@ class Properties * @return the value of the given property, or 0.0f when it doesn't * exist. */ - float getFloatProperty(std::string const &name, float def = 0.0f) const + float getFloatProperty(const std::string &name, float def = 0.0f) const { PropertyMap::const_iterator i = mProperties.find(name); float ret = def; @@ -81,8 +80,7 @@ class Properties * @return true when a property is defined, * false otherwise. */ - bool - hasProperty(const std::string &name) const + bool hasProperty(const std::string &name) const { return (mProperties.find(name) != mProperties.end()); } @@ -93,8 +91,7 @@ class Properties * @param name The name of the property. * @param value The value of the property. */ - void - setProperty(const std::string &name, const std::string &value) + void setProperty(const std::string &name, const std::string &value) { mProperties[name] = value; } diff --git a/src/resources/dye.cpp b/src/resources/dye.cpp index 3be105d8..d180d725 100644 --- a/src/resources/dye.cpp +++ b/src/resources/dye.cpp @@ -26,7 +26,7 @@ #include "../log.h" -Palette::Palette(std::string const &description) +Palette::Palette(const std::string &description) { int size = description.length(); if (size == 0) return; @@ -109,7 +109,7 @@ void Palette::getColor(int intensity, int color[3]) const color[2] = ((255 - t) * b1 + t * b2) / 255; } -Dye::Dye(std::string const &description) +Dye::Dye(const std::string &description) { for (int i = 0; i < 7; ++i) mPalettes[i] = 0; @@ -175,7 +175,7 @@ void Dye::update(int color[3]) const mPalettes[i - 1]->getColor(cmax, color); } -void Dye::instantiate(std::string &target, std::string const &palettes) +void Dye::instantiate(std::string &target, const std::string &palettes) { std::string::size_type next_pos = target.find('|'); if (next_pos == std::string::npos || palettes.empty()) return; diff --git a/src/resources/dye.h b/src/resources/dye.h index 528a1d91..f0bd7aab 100644 --- a/src/resources/dye.h +++ b/src/resources/dye.h @@ -36,7 +36,7 @@ class Palette * The string is either a file name or a sequence of hexadecimal RGB * values separated by ',' and starting with '#'. */ - Palette(std::string const &); + Palette(const std::string &); /** * Gets a pixel color depending on its intensity. @@ -63,7 +63,7 @@ class Dye * The parts of string are separated by semi-colons. Each part starts * by an uppercase letter, followed by a colon and then a palette name. */ - Dye(std::string const &); + Dye(const std::string &); /** * Destroys the associated palettes. @@ -79,7 +79,7 @@ class Dye * Fills the blank in a dye placeholder with some palette names. */ static void instantiate(std::string &target, - std::string const &palettes); + const std::string &palettes); private: diff --git a/src/resources/imageloader.cpp b/src/resources/imageloader.cpp index 29458ba3..835ba100 100644 --- a/src/resources/imageloader.cpp +++ b/src/resources/imageloader.cpp @@ -88,7 +88,7 @@ void ProxyImage::convertToDisplayFormat() mSDLImage = NULL; } -gcn::Image *ImageLoader::load(std::string const &filename, bool convert) +gcn::Image *ImageLoader::load(const std::string &filename, bool convert) { ResourceManager *resman = ResourceManager::getInstance(); ProxyImage *i = new ProxyImage(resman->loadSDLSurface(filename)); diff --git a/src/resources/imageloader.h b/src/resources/imageloader.h index 7979fd2f..821a0254 100644 --- a/src/resources/imageloader.h +++ b/src/resources/imageloader.h @@ -61,7 +61,8 @@ class ProxyImage : public gcn::Image class ImageLoader : public gcn::ImageLoader { public: - gcn::Image *load(std::string const &filename, bool convertToDisplayFormat); + gcn::Image *load(const std::string &filename, + bool convertToDisplayFormat); }; #endif diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp index 8c6d1376..bebd17f8 100644 --- a/src/resources/resourcemanager.cpp +++ b/src/resources/resourcemanager.cpp @@ -211,7 +211,7 @@ std::string ResourceManager::getPath(const std::string &file) return path; } -Resource *ResourceManager::get(std::string const &idPath, generator fun, +Resource *ResourceManager::get(const std::string &idPath, generator fun, void *data) { // Check if the id exists, and return the value if it does. @@ -263,7 +263,7 @@ struct ResourceLoader } }; -Resource *ResourceManager::load(std::string const &path, loader fun) +Resource *ResourceManager::load(const std::string &path, loader fun) { ResourceLoader l = { this, path, fun }; return get(path, ResourceLoader::load, &l); @@ -305,7 +305,7 @@ struct DyedImageLoader } }; -Image *ResourceManager::getImage(std::string const &idPath) +Image *ResourceManager::getImage(const std::string &idPath) { DyedImageLoader l = { this, idPath }; return static_cast(get(idPath, DyedImageLoader::load, &l)); @@ -347,8 +347,7 @@ struct SpriteDefLoader } }; -SpriteDef *ResourceManager::getSprite - (std::string const &path, int variant) +SpriteDef *ResourceManager::getSprite(const std::string &path, int variant) { SpriteDefLoader l = { path, variant }; std::stringstream ss; @@ -377,7 +376,8 @@ void ResourceManager::release(Resource *res) ResourceManager *ResourceManager::getInstance() { // Create a new instance if necessary. - if (instance == NULL) instance = new ResourceManager(); + if (!instance) + instance = new ResourceManager(); return instance; } diff --git a/src/resources/resourcemanager.h b/src/resources/resourcemanager.h index c1007f4a..e70dfb9d 100644 --- a/src/resources/resourcemanager.h +++ b/src/resources/resourcemanager.h @@ -98,7 +98,8 @@ class ResourceManager bool isDirectory(const std::string &path); /** - * Returns the real path to a file + * Returns the real path to a file. Note that this method will always + * return a path, it does not check whether the file exists. * * @param file The file to get the real path to. * @return The real path. @@ -114,7 +115,7 @@ class ResourceManager * @return A valid resource or NULL if the resource could * not be generated. */ - Resource *get(std::string const &idPath, generator fun, void *data); + Resource *get(const std::string &idPath, generator fun, void *data); /** * Loads a resource from a file and adds it to the resource map. @@ -124,7 +125,7 @@ class ResourceManager * @return A valid resource or NULL if the resource could * not be loaded. */ - Resource *load(std::string const &path, loader fun); + Resource *load(const std::string &path, loader fun); /** * Convenience wrapper around ResourceManager::get for loading @@ -154,7 +155,7 @@ class ResourceManager * Creates a sprite definition based on a given path and the supplied * variant. */ - SpriteDef *getSprite(std::string const &path, int variant = 0); + SpriteDef *getSprite(const std::string &path, int variant = 0); /** * Releases a resource, placing it in the set of orphaned resources. diff --git a/src/resources/spritedef.cpp b/src/resources/spritedef.cpp index 5aea55fa..f5b763ea 100644 --- a/src/resources/spritedef.cpp +++ b/src/resources/spritedef.cpp @@ -33,8 +33,7 @@ #include "../log.h" #include "../utils/xml.h" -Action* -SpriteDef::getAction(SpriteAction action) const +Action *SpriteDef::getAction(SpriteAction action) const { Actions::const_iterator i = mActions.find(action); @@ -47,7 +46,7 @@ SpriteDef::getAction(SpriteAction action) const return i->second; } -SpriteDef *SpriteDef::load(std::string const &animationFile, int variant) +SpriteDef *SpriteDef::load(const std::string &animationFile, int variant) { std::string::size_type pos = animationFile.find('|'); std::string palettes; @@ -122,7 +121,7 @@ void SpriteDef::loadSprite(xmlNodePtr spriteNode, int variant, } } -void SpriteDef::loadImageSet(xmlNodePtr node, std::string const &palettes) +void SpriteDef::loadImageSet(xmlNodePtr node, const std::string &palettes) { const std::string name = XML::getProperty(node, "name", ""); @@ -147,8 +146,7 @@ void SpriteDef::loadImageSet(xmlNodePtr node, std::string const &palettes) mImageSets[name] = imageSet; } -void -SpriteDef::loadAction(xmlNodePtr node, int variant_offset) +void SpriteDef::loadAction(xmlNodePtr node, int variant_offset) { const std::string actionName = XML::getProperty(node, "name", ""); const std::string imageSetName = XML::getProperty(node, "imageset", ""); @@ -188,10 +186,9 @@ SpriteDef::loadAction(xmlNodePtr node, int variant_offset) } } -void -SpriteDef::loadAnimation(xmlNodePtr animationNode, - Action *action, ImageSet *imageSet, - int variant_offset) +void SpriteDef::loadAnimation(xmlNodePtr animationNode, + Action *action, ImageSet *imageSet, + int variant_offset) { const std::string directionName = XML::getProperty(animationNode, "direction", ""); @@ -268,8 +265,7 @@ SpriteDef::loadAnimation(xmlNodePtr animationNode, } // for frameNode } -void -SpriteDef::includeSprite(xmlNodePtr includeNode) +void SpriteDef::includeSprite(xmlNodePtr includeNode) { // TODO: Perform circular dependency check, since it's easy to crash the // client this way. @@ -290,8 +286,7 @@ SpriteDef::includeSprite(xmlNodePtr includeNode) loadSprite(rootNode, 0); } -void -SpriteDef::substituteAction(SpriteAction complete, SpriteAction with) +void SpriteDef::substituteAction(SpriteAction complete, SpriteAction with) { if (mActions.find(complete) == mActions.end()) { @@ -325,8 +320,7 @@ SpriteDef::~SpriteDef() } } -SpriteAction -SpriteDef::makeSpriteAction(const std::string& action) +SpriteAction SpriteDef::makeSpriteAction(const std::string &action) { if (action == "" || action == "default") { return ACTION_DEFAULT; @@ -408,8 +402,7 @@ SpriteDef::makeSpriteAction(const std::string& action) } } -SpriteDirection -SpriteDef::makeSpriteDirection(const std::string& direction) +SpriteDirection SpriteDef::makeSpriteDirection(const std::string& direction) { if (direction == "" || direction == "default") { return DIRECTION_DEFAULT; @@ -428,5 +421,5 @@ SpriteDef::makeSpriteDirection(const std::string& direction) } else { return DIRECTION_INVALID; - }; + } } diff --git a/src/resources/spritedef.h b/src/resources/spritedef.h index 56b9a713..0c3e443b 100644 --- a/src/resources/spritedef.h +++ b/src/resources/spritedef.h @@ -81,7 +81,7 @@ class SpriteDef : public Resource /** * Loads a sprite definition file. */ - static SpriteDef *load(std::string const &file, int variant); + static SpriteDef *load(const std::string &file, int variant); /** * Returns the specified action. @@ -91,8 +91,7 @@ class SpriteDef : public Resource /** * Converts a string into a SpriteAction enum. */ - static SpriteAction - makeSpriteAction(const std::string &action); + static SpriteAction makeSpriteAction(const std::string &action); private: /** @@ -114,27 +113,24 @@ class SpriteDef : public Resource /** * Loads an imageset element. */ - void loadImageSet(xmlNodePtr node, std::string const &palettes); + void loadImageSet(xmlNodePtr node, const std::string &palettes); /** * Loads an action element. */ - void - loadAction(xmlNodePtr node, int variant_offset); + void loadAction(xmlNodePtr node, int variant_offset); /** * Loads an animation element. */ - void - loadAnimation(xmlNodePtr animationNode, - Action *action, ImageSet *imageSet, - int variant_offset); + void loadAnimation(xmlNodePtr animationNode, + Action *action, ImageSet *imageSet, + int variant_offset); /** * Include another sprite into this one. */ - void - includeSprite(xmlNodePtr includeNode); + void includeSprite(xmlNodePtr includeNode); /** * Complete missing actions by copying existing ones. @@ -145,8 +141,7 @@ class SpriteDef : public Resource * When there are no animations defined for the action "complete", its * animations become a copy of those of the action "with". */ - void - substituteAction(SpriteAction complete, SpriteAction with); + void substituteAction(SpriteAction complete, SpriteAction with); /** * Converts a string into a SpriteDirection enum. diff --git a/tools/dyecmd/src/dye.cpp b/tools/dyecmd/src/dye.cpp index c93f46c8..058e0515 100644 --- a/tools/dyecmd/src/dye.cpp +++ b/tools/dyecmd/src/dye.cpp @@ -24,7 +24,7 @@ #include "dye.h" -Palette::Palette(std::string const &description) +Palette::Palette(const std::string &description) { int size = description.length(); if (size == 0) return; @@ -105,7 +105,7 @@ void Palette::getColor(int intensity, int color[3]) const color[2] = ((255 - t) * b1 + t * b2) / 255; } -Dye::Dye(std::string const &description) +Dye::Dye(const std::string &description) { for (int i = 0; i < 7; ++i) mPalettes[i] = 0; @@ -169,7 +169,7 @@ void Dye::update(int color[3]) const mPalettes[i - 1]->getColor(cmax, color); } -void Dye::instantiate(std::string &target, std::string const &palettes) +void Dye::instantiate(std::string &target, const std::string &palettes) { std::string::size_type next_pos = target.find('|'); if (next_pos == std::string::npos || palettes.empty()) return; diff --git a/tools/dyecmd/src/dye.h b/tools/dyecmd/src/dye.h index 528a1d91..f0bd7aab 100644 --- a/tools/dyecmd/src/dye.h +++ b/tools/dyecmd/src/dye.h @@ -36,7 +36,7 @@ class Palette * The string is either a file name or a sequence of hexadecimal RGB * values separated by ',' and starting with '#'. */ - Palette(std::string const &); + Palette(const std::string &); /** * Gets a pixel color depending on its intensity. @@ -63,7 +63,7 @@ class Dye * The parts of string are separated by semi-colons. Each part starts * by an uppercase letter, followed by a colon and then a palette name. */ - Dye(std::string const &); + Dye(const std::string &); /** * Destroys the associated palettes. @@ -79,7 +79,7 @@ class Dye * Fills the blank in a dye placeholder with some palette names. */ static void instantiate(std::string &target, - std::string const &palettes); + const std::string &palettes); private: -- cgit v1.2.3-70-g09d2 From fcc90586d1d1631c31b2799fdaf410af1b073cf0 Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Wed, 17 Dec 2008 22:13:24 +0100 Subject: Reintroduced window name property Still used in the eAthena client and it seems saner to me to have it. --- src/gui/buy.cpp | 3 ++- src/gui/chat.cpp | 3 ++- src/gui/debugwindow.cpp | 3 ++- src/gui/equipmentwindow.cpp | 3 ++- src/gui/guildwindow.cpp | 3 ++- src/gui/help.cpp | 1 + src/gui/inventorywindow.cpp | 3 ++- src/gui/itemshortcutwindow.cpp | 3 ++- src/gui/login.cpp | 7 ++----- src/gui/magic.cpp | 3 ++- src/gui/minimap.cpp | 5 +++-- src/gui/ministatus.cpp | 3 +-- src/gui/partywindow.cpp | 3 ++- src/gui/sell.cpp | 3 ++- src/gui/skill.cpp | 3 ++- src/gui/status.cpp | 5 +++-- src/gui/trade.cpp | 3 ++- src/gui/window.cpp | 7 ++++--- src/gui/window.h | 17 +++++++++++++---- 19 files changed, 51 insertions(+), 30 deletions(-) (limited to 'src/gui/window.cpp') diff --git a/src/gui/buy.cpp b/src/gui/buy.cpp index a948b136..008c7bb9 100644 --- a/src/gui/buy.cpp +++ b/src/gui/buy.cpp @@ -40,6 +40,7 @@ BuyDialog::BuyDialog(): Window(_("Buy")), mMoney(0), mAmountItems(0), mMaxItems(0) { + setWindowName("Buy"); setResizable(true); setMinWidth(260); setMinHeight(230); @@ -85,7 +86,7 @@ BuyDialog::BuyDialog(): Layout &layout = getLayout(); layout.setRowHeight(0, Layout::AUTO_SET); - loadWindowState("Buy"); + loadWindowState(); setLocationRelativeTo(getParent()); } diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp index 5bd661d6..888dd27d 100644 --- a/src/gui/chat.cpp +++ b/src/gui/chat.cpp @@ -52,6 +52,7 @@ ChatWindow::ChatWindow(): Window("Chat"), mTmpVisible(false) { + setWindowName("Chat"); setResizable(true); setDefaultSize(0, windowContainer->getHeight() - 123, 600, 123); setOpaque(false); @@ -88,7 +89,7 @@ ChatWindow::ChatWindow(): mChatInput->addKeyListener(this); mCurHist = mHistory.end(); - loadWindowState("Chat"); + loadWindowState(); } ChatWindow::~ChatWindow() diff --git a/src/gui/debugwindow.cpp b/src/gui/debugwindow.cpp index d92c3575..36e4c8e1 100644 --- a/src/gui/debugwindow.cpp +++ b/src/gui/debugwindow.cpp @@ -39,10 +39,11 @@ DebugWindow::DebugWindow(): Window("Debug") { + setWindowName("Debug"); setResizable(true); setCloseButton(true); setDefaultSize(0, 0, 400, 100); - loadWindowState("Debug"); + loadWindowState(); mFPSLabel = new gcn::Label("[0 FPS]"); mFPSLabel->setPosition(0,0); diff --git a/src/gui/equipmentwindow.cpp b/src/gui/equipmentwindow.cpp index 57f0899b..6848b4d8 100644 --- a/src/gui/equipmentwindow.cpp +++ b/src/gui/equipmentwindow.cpp @@ -56,9 +56,10 @@ EquipmentWindow::EquipmentWindow(Equipment *equipment): mBackground(NULL), mSelected(-1) { + setWindowName("Equipment"); setCloseButton(true); setDefaultSize(5, 195, 216, 260); - loadWindowState("Equipment"); + loadWindowState(); mUnequip = new Button(_("Unequip"), "unequip", this); gcn::Rectangle const &area = getChildrenArea(); diff --git a/src/gui/guildwindow.cpp b/src/gui/guildwindow.cpp index ae9684df..0596c75e 100644 --- a/src/gui/guildwindow.cpp +++ b/src/gui/guildwindow.cpp @@ -49,6 +49,7 @@ GuildWindow::GuildWindow(): Window(_("Guild")), mFocus(false) { + setWindowName("Guild"); setCaption(_("Guild")); setResizable(false); setCloseButton(true); @@ -73,7 +74,7 @@ GuildWindow::GuildWindow(): layout.setColWidth(0, 48); layout.setColWidth(1, 65); - loadWindowState("Guild"); + loadWindowState(); } GuildWindow::~GuildWindow() diff --git a/src/gui/help.cpp b/src/gui/help.cpp index ffe9c02d..290679b9 100644 --- a/src/gui/help.cpp +++ b/src/gui/help.cpp @@ -31,6 +31,7 @@ HelpWindow::HelpWindow(): Window("Help") { setContentSize(455, 350); + setWindowName("Help"); mBrowserBox = new BrowserBox(); mBrowserBox->setOpaque(false); diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp index 92b635d8..1e3c4084 100644 --- a/src/gui/inventorywindow.cpp +++ b/src/gui/inventorywindow.cpp @@ -53,6 +53,7 @@ InventoryWindow::InventoryWindow(): Window(_("Inventory")), mSplit(false) { + setWindowName("Inventory"); setResizable(false); setCloseButton(true); // LEEOR/TODO: Since this window is not resizable, do we really need to set these @@ -82,7 +83,7 @@ InventoryWindow::InventoryWindow(): layout.setColWidth(2, 48); layout.setRowHeight(0, Layout::AUTO_SET); - loadWindowState("Inventory"); + loadWindowState(); } void InventoryWindow::logic() diff --git a/src/gui/itemshortcutwindow.cpp b/src/gui/itemshortcutwindow.cpp index 1a71b11e..e21f421b 100644 --- a/src/gui/itemshortcutwindow.cpp +++ b/src/gui/itemshortcutwindow.cpp @@ -28,6 +28,7 @@ static const int SCROLL_PADDING = 0; ItemShortcutWindow::ItemShortcutWindow() { + setWindowName("ItemShortcut"); // no title presented, title bar is padding so window can be moved. gcn::Window::setTitleBarHeight(gcn::Window::getPadding()); setShowTitle(false); @@ -49,7 +50,7 @@ ItemShortcutWindow::ItemShortcutWindow() add(mScrollArea); - loadWindowState("ItemShortcut"); + loadWindowState(); } ItemShortcutWindow::~ItemShortcutWindow() diff --git a/src/gui/login.cpp b/src/gui/login.cpp index 24c55e37..b4289984 100644 --- a/src/gui/login.cpp +++ b/src/gui/login.cpp @@ -71,12 +71,9 @@ LoginDialog::LoginDialog(LoginData *loginData) : Window(_("Login")), mLoginData( setLocationRelativeTo(getParent()); setVisible(true); - if (mUserField->getText().empty()) - { + if (mUserField->getText().empty()) { mUserField->requestFocus(); - } - else - { + } else { mPassField->requestFocus(); } diff --git a/src/gui/magic.cpp b/src/gui/magic.cpp index ad63f914..2c81321b 100644 --- a/src/gui/magic.cpp +++ b/src/gui/magic.cpp @@ -35,6 +35,7 @@ MagicDialog::MagicDialog(): Window(_("Magic")) { + setWindowName("Magic"); setCloseButton(true); setDefaultSize(255, 30, 175, 225); @@ -53,7 +54,7 @@ MagicDialog::MagicDialog(): update(); setLocationRelativeTo(getParent()); - loadWindowState(_("Magic")); + loadWindowState(); } MagicDialog::~MagicDialog() diff --git a/src/gui/minimap.cpp b/src/gui/minimap.cpp index 02d20d8e..f7749755 100644 --- a/src/gui/minimap.cpp +++ b/src/gui/minimap.cpp @@ -34,8 +34,9 @@ Minimap::Minimap(): Window(_("MiniMap")), mMapImage(NULL) { - setDefaultSize(0, 0, 100, 100); - loadWindowState("MiniMap"); + setWindowName("MiniMap"); + setDefaultSize(5, 25, 100, 100); + loadWindowState(); // LEEOR: The Window class needs to modified to accept // setAlignment calls. setAlignment(gcn::Graphics::CENTER); diff --git a/src/gui/ministatus.cpp b/src/gui/ministatus.cpp index 424c3558..86e5a8f1 100644 --- a/src/gui/ministatus.cpp +++ b/src/gui/ministatus.cpp @@ -32,8 +32,7 @@ #include "../utils/tostring.h" -MiniStatusWindow::MiniStatusWindow(): - Window() +MiniStatusWindow::MiniStatusWindow() { setResizable(false); setMovable(false); diff --git a/src/gui/partywindow.cpp b/src/gui/partywindow.cpp index 262e3b2e..c4a1c780 100644 --- a/src/gui/partywindow.cpp +++ b/src/gui/partywindow.cpp @@ -29,6 +29,7 @@ PartyWindow::PartyWindow() : Window(_("Party")) { + setWindowName("Party"); setVisible(false); setResizable(false); setCaption(_("Party")); @@ -37,7 +38,7 @@ PartyWindow::PartyWindow() : Window(_("Party")) setMinHeight(200); setDefaultSize(620, 300, 110, 200); - loadWindowState("Party"); + loadWindowState(); } PartyWindow::~PartyWindow() diff --git a/src/gui/sell.cpp b/src/gui/sell.cpp index 30e78368..24391458 100644 --- a/src/gui/sell.cpp +++ b/src/gui/sell.cpp @@ -44,6 +44,7 @@ SellDialog::SellDialog(): Window(_("Sell")), mMaxItems(0), mAmountItems(0) { + setWindowName("Sell"); setResizable(true); setMinWidth(260); setMinHeight(230); @@ -90,7 +91,7 @@ SellDialog::SellDialog(): Layout &layout = getLayout(); layout.setRowHeight(0, Layout::AUTO_SET); - loadWindowState("Sell"); + loadWindowState(); setLocationRelativeTo(getParent()); } diff --git a/src/gui/skill.cpp b/src/gui/skill.cpp index 2eecca55..6d747641 100644 --- a/src/gui/skill.cpp +++ b/src/gui/skill.cpp @@ -43,6 +43,7 @@ SkillDialog::SkillDialog(): Window(_("Skills")) { + setWindowName("Skills"); setCloseButton(true); setDefaultSize(windowContainer->getWidth() - 280, 30, 275, 425); @@ -69,7 +70,7 @@ SkillDialog::SkillDialog(): update(); setLocationRelativeTo(getParent()); - loadWindowState(_("Skills")); + loadWindowState(); } SkillDialog::~SkillDialog() diff --git a/src/gui/status.cpp b/src/gui/status.cpp index 43f81135..283a771b 100644 --- a/src/gui/status.cpp +++ b/src/gui/status.cpp @@ -36,11 +36,12 @@ StatusWindow::StatusWindow(LocalPlayer *player): Window(player->getName()), mPlayer(player) { + setWindowName("Status"); setResizable(true); setCloseButton(true); setDefaultSize((windowContainer->getWidth() - 365) / 2, - (windowContainer->getHeight() - 255) / 2, 365, 280); - loadWindowState("Status"); + (windowContainer->getHeight() - 255) / 2, 365, 275); + loadWindowState(); // ---------------------- // Status Part diff --git a/src/gui/trade.cpp b/src/gui/trade.cpp index 38064f48..7d5051c7 100644 --- a/src/gui/trade.cpp +++ b/src/gui/trade.cpp @@ -53,6 +53,7 @@ TradeWindow::TradeWindow(): mPartnerInventory(new Inventory), mStatus(PREPARING) { + setWindowName("Trade"); setResizable(true); setDefaultSize(115, 197, 332, 209); @@ -102,7 +103,7 @@ TradeWindow::TradeWindow(): layout.setColWidth(0, Layout::AUTO_SET); layout.setColWidth(1, Layout::AUTO_SET); - loadWindowState("Trade"); + loadWindowState(); } TradeWindow::~TradeWindow() diff --git a/src/gui/window.cpp b/src/gui/window.cpp index 9dc70189..c40f8a25 100644 --- a/src/gui/window.cpp +++ b/src/gui/window.cpp @@ -129,7 +129,7 @@ Window::~Window() { logger->log("UNLOAD: Window::~Window(\"%s\")", getCaption().c_str()); - const std::string &name = mConfigName; + const std::string &name = mWindowName; if (!name.empty()) { // Saving X, Y and Width and Height for resizables in the config @@ -466,9 +466,10 @@ void Window::mouseDragged(gcn::MouseEvent &event) } } -void Window::loadWindowState(const std::string &name) +void Window::loadWindowState() { - mConfigName = name; + const std::string &name = mWindowName; + assert(!name.empty()); setPosition((int) config.getValue(name + "WinX", mDefaultX), (int) config.getValue(name + "WinY", mDefaultY)); diff --git a/src/gui/window.h b/src/gui/window.h index 493bce37..6f49e062 100644 --- a/src/gui/window.h +++ b/src/gui/window.h @@ -153,8 +153,7 @@ class Window : public gcn::Window, gcn::WidgetListener * * @return The parent window or NULL if there is none. */ - Window* - getParentWindow() { return mParent; } + Window *getParentWindow() { return mParent; } /** * Schedule this window for deletion. It will be deleted at the start @@ -191,6 +190,16 @@ class Window : public gcn::Window, gcn::WidgetListener */ void mouseExited(gcn::MouseEvent &event); + /** + * Sets the name of the window. This is not the window title. + */ + void setWindowName(const std::string &name) { mWindowName = name; } + + /** + * Returns the name of the window. This is not the window title. + */ + const std::string &getWindowName() { return mWindowName; } + /** * Reads the position (and the size for resizable windows) in the * configuration based on the given string. @@ -198,7 +207,7 @@ class Window : public gcn::Window, gcn::WidgetListener * Don't forget to set these default values and resizable before * calling this function. */ - void loadWindowState(const std::string &); + void loadWindowState(); /** * Set the default win pos and size. @@ -267,7 +276,7 @@ class Window : public gcn::Window, gcn::WidgetListener ResizeGrip *mGrip; /**< Resize grip */ Window *mParent; /**< The parent window */ Layout *mLayout; /**< Layout handler */ - std::string mConfigName; /**< Name used for saving window-related data */ + std::string mWindowName; /**< Name of the window */ bool mShowTitle; /**< Window has a title bar */ bool mModal; /**< Window is modal */ bool mCloseButton; /**< Window has a close button */ -- cgit v1.2.3-70-g09d2 From b885ddf99f73a5a86b72d60264a46bb2c4b0b995 Mon Sep 17 00:00:00 2001 From: Eugenio Favalli Date: Wed, 17 Dec 2008 21:15:26 +0100 Subject: Remember windows visibility. (cherry picked from eathena client repository, commits 88af5cb15a02a26f4a5990ba3ef4df46e572bff4, 19ee623c0a1fdd333ef5b945ea887c983c829b1e, f924885ea0db5842b080610ec63e61a4bcc2a30c) Conflicts: src/gui/itemshortcutwindow.cpp src/gui/window.cpp --- src/game.cpp | 16 ++++++++++++---- src/gui/window.cpp | 2 ++ 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src/gui/window.cpp') diff --git a/src/game.cpp b/src/game.cpp index 11712f6b..fc9d89eb 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -219,10 +219,18 @@ void createGuiWindows() //buddyWindow->setPosition(10, minimap->getHeight() + 30); // Set initial window visibility - chatWindow->setVisible(true); - miniStatusWindow->setVisible(true); - menuWindow->setVisible(true); - itemShortcutWindow->setVisible(true); + chatWindow->setVisible((bool) config.getValue( + chatWindow->getWindowName() + "Visible", true)); + miniStatusWindow->setVisible((bool) config.getValue( + miniStatusWindow->getWindowName() + "Visible", + true)); + buyDialog->setVisible(false); + sellDialog->setVisible(false); + tradeWindow->setVisible(false); + menuWindow->setVisible((bool) config.getValue( + menuWindow->getWindowName() + "Visible", true)); + itemShortcutWindow->setVisible((bool) config.getValue( + itemShortcutWindow->getWindowName() + "Visible", true)); if (config.getValue("logToChat", 0)) { diff --git a/src/gui/window.cpp b/src/gui/window.cpp index c40f8a25..582e4a67 100644 --- a/src/gui/window.cpp +++ b/src/gui/window.cpp @@ -135,6 +135,7 @@ Window::~Window() // Saving X, Y and Width and Height for resizables in the config config.setValue(name + "WinX", getX()); config.setValue(name + "WinY", getY()); + config.setValue(name + "Visible", isVisible()); if (mGrip) { @@ -473,6 +474,7 @@ void Window::loadWindowState() setPosition((int) config.getValue(name + "WinX", mDefaultX), (int) config.getValue(name + "WinY", mDefaultY)); + setVisible((bool) config.getValue(name + "Visible", false)); if (mGrip) { -- cgit v1.2.3-70-g09d2