mirror of https://github.com/aseprite/aseprite.git
				
				
				
			Add default info on status bar (fix #1874)
This commit is contained in:
		
							parent
							
								
									7f68d5f2e8
								
							
						
					
					
						commit
						b3771472c3
					
				|  | @ -135,7 +135,7 @@ bool ColorButton::onProcessMessage(Message* msg) | |||
|       break; | ||||
| 
 | ||||
|     case kMouseLeaveMessage: | ||||
|       StatusBar::instance()->clearText(); | ||||
|       StatusBar::instance()->showDefaultText(); | ||||
|       break; | ||||
| 
 | ||||
|     case kMouseMoveMessage: | ||||
|  |  | |||
|  | @ -1642,7 +1642,7 @@ bool Editor::onProcessMessage(Message* msg) | |||
| 
 | ||||
|     case kMouseLeaveMessage: | ||||
|       m_brushPreview.hide(); | ||||
|       StatusBar::instance()->clearText(); | ||||
|       StatusBar::instance()->showDefaultText(); | ||||
|       break; | ||||
| 
 | ||||
|     case kMouseDownMessage: | ||||
|  |  | |||
|  | @ -524,7 +524,7 @@ bool StandbyState::onUpdateStatusBar(Editor* editor) | |||
|     - gfx::PointF(editor->mainTilePosition()); | ||||
| 
 | ||||
|   if (!sprite) { | ||||
|     StatusBar::instance()->clearText(); | ||||
|     StatusBar::instance()->showDefaultText(); | ||||
|   } | ||||
|   // For eye-dropper
 | ||||
|   else if (ink->isEyedropper()) { | ||||
|  | @ -549,12 +549,16 @@ bool StandbyState::onUpdateStatusBar(Editor* editor) | |||
| 
 | ||||
|     char buf[1024]; | ||||
|     sprintf( | ||||
|       buf, ":pos: %d %d :%s: %d %d", | ||||
|             buf, ":pos: %d %d :size: %d %d", | ||||
|             int(std::floor(spritePos.x)), | ||||
|             int(std::floor(spritePos.y)), | ||||
|       (mask ? "selsize": "size"), | ||||
|       (mask ? mask->bounds().w: sprite->width()), | ||||
|       (mask ? mask->bounds().h: sprite->height())); | ||||
|             sprite->width(), | ||||
|             sprite->height()); | ||||
| 
 | ||||
|     if (mask) | ||||
|       sprintf(buf+std::strlen(buf), " :selsize: %d %d", | ||||
|               mask->bounds().w, | ||||
|               mask->bounds().h); | ||||
| 
 | ||||
|     if (sprite->totalFrames() > 1) { | ||||
|       sprintf( | ||||
|  |  | |||
|  | @ -474,11 +474,14 @@ void MainWindow::onMouseOverTab(Tabs* tabs, TabView* tabView) | |||
|     else | ||||
|       name = base::get_file_name(document->filename()); | ||||
| 
 | ||||
|     m_statusBar->setStatusText(250, "%s", name.c_str()); | ||||
|   } | ||||
|   else { | ||||
|     m_statusBar->clearText(); | ||||
|     m_statusBar->showDefaultText(document); | ||||
|   } | ||||
|   else | ||||
|     m_statusBar->showDefaultText(); | ||||
| } | ||||
| 
 | ||||
| void MainWindow::onMouseLeaveTab() { | ||||
|   m_statusBar->showDefaultText(); | ||||
| } | ||||
| 
 | ||||
| DropViewPreviewResult MainWindow::onFloatingTab(Tabs* tabs, TabView* tabView, const gfx::Point& pos) | ||||
|  |  | |||
|  | @ -90,6 +90,7 @@ namespace app { | |||
|     void onContextMenuTab(Tabs* tabs, TabView* tabView) override; | ||||
|     void onTabsContainerDoubleClicked(Tabs* tabs) override; | ||||
|     void onMouseOverTab(Tabs* tabs, TabView* tabView) override; | ||||
|     void onMouseLeaveTab() override; | ||||
|     DropViewPreviewResult onFloatingTab(Tabs* tabs, TabView* tabView, const gfx::Point& pos) override; | ||||
|     void onDockingTab(Tabs* tabs, TabView* tabView) override; | ||||
|     DropTabResult onDropTab(Tabs* tabs, TabView* tabView, const gfx::Point& pos, bool clone) override; | ||||
|  |  | |||
|  | @ -912,7 +912,7 @@ void PaletteView::setStatusBar() | |||
|   StatusBar* statusBar = StatusBar::instance(); | ||||
| 
 | ||||
|   if (m_hot.part == Hit::NONE) { | ||||
|     statusBar->clearText(); | ||||
|     statusBar->showDefaultText(); | ||||
|     return; | ||||
|   } | ||||
| 
 | ||||
|  | @ -930,7 +930,7 @@ void PaletteView::setStatusBar() | |||
|           0, "", app::Color::fromIndex(i)); | ||||
|       } | ||||
|       else { | ||||
|         statusBar->clearText(); | ||||
|         statusBar->showDefaultText(); | ||||
|       } | ||||
|       break; | ||||
| 
 | ||||
|  | @ -949,7 +949,7 @@ void PaletteView::setStatusBar() | |||
|           destIndex, newPalSize); | ||||
|       } | ||||
|       else { | ||||
|         statusBar->clearText(); | ||||
|         statusBar->showDefaultText(); | ||||
|       } | ||||
|       break; | ||||
| 
 | ||||
|  | @ -963,7 +963,7 @@ void PaletteView::setStatusBar() | |||
|           newPalSize); | ||||
|       } | ||||
|       else { | ||||
|         statusBar->clearText(); | ||||
|         statusBar->showDefaultText(); | ||||
|       } | ||||
|       break; | ||||
|   } | ||||
|  |  | |||
|  | @ -615,6 +615,28 @@ void StatusBar::clearText() | |||
|   setStatusText(1, ""); | ||||
| } | ||||
| 
 | ||||
| void StatusBar::showDefaultText() | ||||
| { | ||||
|   showDefaultText(current_editor ? current_editor->document(): nullptr); | ||||
| } | ||||
| 
 | ||||
| void StatusBar::showDefaultText(Doc* doc) | ||||
| { | ||||
|   clearText(); | ||||
|   if (doc){ | ||||
|     std::string buf = base::string_printf("%s  :size: %d %d", | ||||
|                                           doc->name().c_str(), | ||||
|                                           doc->width(), | ||||
|                                           doc->height()); | ||||
|     if (doc->getTransformation().bounds().w != 0) { | ||||
|       buf += base::string_printf(" :selsize: %d %d", | ||||
|                                  int(doc->getTransformation().bounds().w), | ||||
|                                  int(doc->getTransformation().bounds().h)); | ||||
|     } | ||||
|     setStatusText(1, buf.c_str()); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| void StatusBar::updateFromEditor(Editor* editor) | ||||
| { | ||||
|   if (editor) | ||||
|  |  | |||
|  | @ -56,6 +56,8 @@ namespace app { | |||
|     ~StatusBar(); | ||||
| 
 | ||||
|     void clearText(); | ||||
|     void showDefaultText(); | ||||
|     void showDefaultText(Doc* document); | ||||
| 
 | ||||
|     bool setStatusText(int msecs, const char* format, ...); | ||||
|     void showTip(int msecs, const char* format, ...); | ||||
|  |  | |||
|  | @ -350,6 +350,8 @@ bool Tabs::onProcessMessage(Message* msg) | |||
|     case kMouseLeaveMessage: | ||||
|       if (m_hot) { | ||||
|         m_hot.reset(); | ||||
|         if (m_delegate) | ||||
|           m_delegate->onMouseLeaveTab(); | ||||
|         invalidate(); | ||||
|       } | ||||
|       return true; | ||||
|  |  | |||
|  | @ -95,6 +95,9 @@ namespace app { | |||
|     // mouse just leave all tabs)
 | ||||
|     virtual void onMouseOverTab(Tabs* tabs, TabView* tabView) = 0; | ||||
| 
 | ||||
|     // Called when the mouse is leaving a tab
 | ||||
|     virtual void onMouseLeaveTab() = 0; | ||||
| 
 | ||||
|     // Called when the user is dragging a tab outside the Tabs
 | ||||
|     // bar.
 | ||||
|     virtual DropViewPreviewResult onFloatingTab(Tabs* tabs, TabView* tabView, const gfx::Point& pos) = 0; | ||||
|  |  | |||
|  | @ -3390,7 +3390,7 @@ void Timeline::updateStatusBar(ui::Message* msg) | |||
|     } | ||||
|   } | ||||
| 
 | ||||
|   sb->clearText(); | ||||
|   sb->showDefaultText(); | ||||
| } | ||||
| 
 | ||||
| void Timeline::updateStatusBarForFrame(const frame_t frame, | ||||
|  |  | |||
|  | @ -264,7 +264,7 @@ bool ToolBar::onProcessMessage(Message* msg) | |||
|         invalidate(); | ||||
|       } | ||||
| 
 | ||||
|       StatusBar::instance()->clearText(); | ||||
|       StatusBar::instance()->showDefaultText(); | ||||
|       break; | ||||
| 
 | ||||
|     case kTimerMessage: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue