*/}}
Browse Source

Colored button for save dialog

YimingWu 3 weeks ago
parent
commit
a0e7ef5f56
3 changed files with 8 additions and 4 deletions
  1. 1 0
      la_interface.h
  2. 3 3
      resources/la_templates.c
  3. 4 1
      resources/la_widgets.c

+ 1 - 0
la_interface.h

@@ -1166,6 +1166,7 @@ STRUCTURE(laWidget){
 #define LA_UI_MIN_WIDTH        LA_UI_FLAGS_COLOR_SPACE_CLAY
 #define LA_UI_FLAGS_NO_LABEL   (1<<29)
 #define LA_UI_COLLECTION_SIMPLE_SELECTOR LA_UI_FLAGS_CYCLE
+#define LA_UI_FLAGS_WARNING    (LA_UI_FLAGS_CYCLE)
 
 #define LA_UI_FLAGS_INT_ICON  (LA_UI_FLAGS_NO_DECAL|LA_UI_FLAGS_NO_EVENT|LA_UI_FLAGS_ICON)
 #define LA_UI_FLAGS_PLAIN     (LA_UI_FLAGS_NO_DECAL|LA_UI_FLAGS_NO_EVENT)

+ 3 - 3
resources/la_templates.c

@@ -1155,11 +1155,11 @@ void laui_ManagedSavePanel(laUiList *uil, laPropPack *Base, laPropPack *Operator
 
     r=laBeginRow(uil,c,0,0);
     if(mse->OnExit){
-        laShowItemFull(uil,c,0,"LA_cancel",0,"text=Discard And Quit;feedback=DISCARD_AND_QUIT",0,0);
+        laShowItemFull(uil,c,0,"LA_cancel",0,"text=Discard And Quit;feedback=DISCARD_AND_QUIT",0,0)->Flags|=LA_UI_FLAGS_WARNING;
     }
     laShowSeparator(uil,c)->Expand=1;
     laShowItemFull(uil,c,0,"LA_managed_save",0,"quiet=true;ignore_unassigned=true;text=Save All;feedback=SAVE_MODIFIED",0,0);
-    laShowItemFull(uil,c,0,"LA_managed_save",0,"quiet=true;ignore_unassigned=true;modified_only=true;text=Save Modified;feedback=SAVE_MODIFIED",0,0);
+    laShowItemFull(uil,c,0,"LA_managed_save",0,"quiet=true;ignore_unassigned=true;modified_only=true;text=Save Modified;feedback=SAVE_MODIFIED",0,0)->Flags|=LA_UI_FLAGS_HIGHLIGHT;
     laEndRow(uil,r);
 }
 
@@ -1560,7 +1560,7 @@ void laui_IdleDataManager(laUiList *uil, laPropPack *Base, laPropPack *Extra, la
     r=laBeginRow(uil,c,0,0);
     laShowSeparator(uil,c)->Expand=1;
     laShowItemFull(uil,c,0,"LA_managed_save",0,"quiet=true;ignore_unassigned=true;text=Save All",0,0);
-    laShowItemFull(uil,c,0,"LA_managed_save",0,"quiet=true;ignore_unassigned=true;modified_only=true;text=Save Modified",0,0);
+    laShowItemFull(uil,c,0,"LA_managed_save",0,"quiet=true;ignore_unassigned=true;modified_only=true;text=Save Modified",0,0)->Flags|=LA_UI_FLAGS_HIGHLIGHT;
     laEndRow(uil,r);
 }
 void lauidetached_IdleDataManager(laPanel* p){

+ 4 - 1
resources/la_widgets.c

@@ -964,6 +964,7 @@ void la_ButtonDraw(laUiItem *ui, int h){
     int NoDecal=ui->Flags&LA_UI_FLAGS_NO_DECAL;
     int IconOnly=ui->Flags&LA_UI_FLAGS_ICON;
     int IsHighlight=ui->Flags&LA_UI_FLAGS_HIGHLIGHT;
+    int IsWarning=ui->Flags&LA_UI_FLAGS_WARNING;
 
     if (ui->PP.LastPs && ui->PP.LastPs->p){
         ap = ui->PP.LastPs->p;
@@ -982,7 +983,9 @@ void la_ButtonDraw(laUiItem *ui, int h){
 
     if(!NoDecal){
         tnsUseNoTexture();
-        tnsColor4dv(ui->State==LA_UI_NORMAL?(IsHighlight?laAccentColor(LA_BT_NORMAL):laThemeColor(bt, ui->State)):laThemeColor(bt, ui->State));
+        tnsColor4dv(ui->State==LA_UI_NORMAL?(
+                IsHighlight?laAccentColor(LA_BT_NORMAL):(IsWarning?laAccentColor(LA_BT_WARNING):laThemeColor(bt, ui->State)))
+            :laThemeColor(bt, ui->State));
         tnsVertex2d(ui->L, ui->U); tnsVertex2d(ui->R, ui->U);
         tnsVertex2d(ui->R, ui->B); tnsVertex2d(ui->L, ui->B);
         tnsPackAs(GL_TRIANGLE_FAN);