Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/taskbar-cfg/smeedit.c

    r806d761 rf87ff8e  
    11/*
    2  * Copyright (c) 2024 Jiri Svoboda
     2 * Copyright (c) 2023 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3636#include <stdio.h>
    3737#include <stdlib.h>
    38 #include <ui/checkbox.h>
    3938#include <ui/fixed.h>
    4039#include <ui/resource.h>
     
    9594        const char *cmd;
    9695        const char *caption;
    97         bool terminal;
    9896        errno_t rc;
    9997
     
    103101                cmd = smenu_entry_get_cmd(smentry->entry);
    104102                caption = smenu_entry_get_caption(smentry->entry);
    105                 terminal = smenu_entry_get_terminal(smentry->entry);
    106103        } else {
    107104                cmd = "";
    108105                caption = "";
    109                 terminal = false;
    110106        }
    111107
     
    120116
    121117        ui_wnd_params_init(&params);
    122         params.caption = smentry != NULL ? "Edit Start Menu Entry" :
    123             "Create Start Menu Entry";
     118        params.caption = smentry != NULL ? "Edit Start Menu Entry"
     119            : "Create Start Menu Entry";
    124120        if (ui_is_textmode(ui)) {
    125121                params.rect.p0.x = 0;
    126122                params.rect.p0.y = 0;
    127123                params.rect.p1.x = 50;
    128                 params.rect.p1.y = 13;
     124                params.rect.p1.y = 12;
    129125        } else {
    130126                params.rect.p0.x = 0;
    131127                params.rect.p0.y = 0;
    132128                params.rect.p1.x = 370;
    133                 params.rect.p1.y = 230;
     129                params.rect.p1.y = 200;
    134130        }
    135131
     
    259255        }
    260256
    261         /* Start in terminal checkbox */
    262 
    263         rc = ui_checkbox_create(res, "Start in terminal", &smee->cbterminal);
    264         if (rc != EOK)
    265                 goto error;
    266 
    267         /* FIXME: Auto layout */
    268         if (ui_is_textmode(ui)) {
    269                 rect.p0.x = 3;
    270                 rect.p0.y = 8;
    271                 rect.p1.x = 6;
    272                 rect.p1.y = 9;
    273         } else {
    274                 rect.p0.x = 10;
     257        /* OK button */
     258
     259        rc = ui_pbutton_create(res, "OK", &smee->bok);
     260        if (rc != EOK)
     261                goto error;
     262
     263        /* FIXME: Auto layout */
     264        if (ui_is_textmode(ui)) {
     265                rect.p0.x = 23;
     266                rect.p0.y = 9;
     267                rect.p1.x = 35;
     268                rect.p1.y = 10;
     269        } else {
     270                rect.p0.x = 190;
    275271                rect.p0.y = 155;
    276                 rect.p1.x = 360;
    277                 rect.p1.y = 170;
    278         }
    279 
    280         ui_checkbox_set_rect(smee->cbterminal, &rect);
    281         ui_checkbox_set_checked(smee->cbterminal, terminal);
    282 
    283         rc = ui_fixed_add(smee->fixed, ui_checkbox_ctl(smee->cbterminal));
    284         if (rc != EOK) {
    285                 printf("Error adding control to layout.\n");
    286                 goto error;
    287         }
    288 
    289         /* OK button */
    290 
    291         rc = ui_pbutton_create(res, "OK", &smee->bok);
    292         if (rc != EOK)
    293                 goto error;
    294 
    295         /* FIXME: Auto layout */
    296         if (ui_is_textmode(ui)) {
    297                 rect.p0.x = 23;
    298                 rect.p0.y = 10;
    299                 rect.p1.x = 35;
    300                 rect.p1.y = 11;
    301         } else {
    302                 rect.p0.x = 190;
    303                 rect.p0.y = 190;
    304272                rect.p1.x = 270;
    305                 rect.p1.y = 215;
     273                rect.p1.y = 180;
    306274        }
    307275
     
    325293        if (ui_is_textmode(ui)) {
    326294                rect.p0.x = 36;
    327                 rect.p0.y = 10;
     295                rect.p0.y = 9;
    328296                rect.p1.x = 48;
    329                 rect.p1.y = 11;
     297                rect.p1.y = 10;
    330298        } else {
    331299                rect.p0.x = 280;
    332                 rect.p0.y = 190;
     300                rect.p0.y = 155;
    333301                rect.p1.x = 360;
    334                 rect.p1.y = 215;
     302                rect.p1.y = 180;
    335303        }
    336304
     
    377345{
    378346        smeedit_t *smee;
    379         smenu_entry_t *entry;
    380         startmenu_entry_t *smentry;
    381347        const char *cmd;
    382348        const char *caption;
    383         bool terminal;
    384349        errno_t rc;
    385350
     
    389354        cmd = ui_entry_get_text(smee->ecmd);
    390355        caption = ui_entry_get_text(smee->ecaption);
    391         terminal = ui_checkbox_get_checked(smee->cbterminal);
    392356
    393357        if (smee->smentry == NULL) {
    394358                /* Create new entry */
    395359                rc = smenu_entry_create(smee->startmenu->tbarcfg->tbarcfg,
    396                     caption, cmd, terminal, &entry);
     360                    caption, cmd);
    397361                if (rc != EOK)
    398362                        return;
    399 
    400                 rc = startmenu_insert(smee->startmenu, entry, &smentry);
    401                 if (rc != EOK)
    402                         return;
    403 
    404                 startmenu_repaint(smee->startmenu);
    405363        } else {
    406364                /* Edit existing entry */
     365
     366
    407367                rc = smenu_entry_set_cmd(smee->smentry->entry, cmd);
    408368                if (rc != EOK)
     
    413373                        return;
    414374
    415                 smenu_entry_set_terminal(smee->smentry->entry, terminal);
    416                 if (rc != EOK)
    417                         return;
    418 
    419375                (void)smenu_entry_save(smee->smentry->entry);
    420376                startmenu_entry_update(smee->smentry);
Note: See TracChangeset for help on using the changeset viewer.