Resizable Effects-Only Zones
This commit is contained in:
parent
e1a821f3c9
commit
032b6c6300
5 changed files with 117 additions and 31 deletions
|
|
@ -307,13 +307,15 @@ void Ui::OpenRGBDevicePage::on_ZoneBox_currentIndexChanged(int index)
|
|||
\*-----------------------------------------*/
|
||||
else if(selected_zone != -1 && selected_segment == -1)
|
||||
{
|
||||
unsigned int leds_in_zone = device->GetLEDsInZone(selected_zone);
|
||||
|
||||
/*-------------------------------------*\
|
||||
| If there are multiple LEDs, add the |
|
||||
| "Entire Zone" option to the LED box |
|
||||
| and enable it, otherwise there is |
|
||||
| only one LED so disable it |
|
||||
\*-------------------------------------*/
|
||||
if(device->zones[selected_zone].leds_count > 1)
|
||||
if(leds_in_zone > 1)
|
||||
{
|
||||
ui->LEDBox->addItem(tr("Entire Zone"));
|
||||
ui->LEDBox->setEnabled(1);
|
||||
|
|
@ -327,7 +329,7 @@ void Ui::OpenRGBDevicePage::on_ZoneBox_currentIndexChanged(int index)
|
|||
| Fill in the LED list with all LEDs in |
|
||||
| the zone |
|
||||
\*-------------------------------------*/
|
||||
for(std::size_t led_idx = 0; led_idx < device->zones[selected_zone].leds_count; led_idx++)
|
||||
for(std::size_t led_idx = 0; led_idx < leds_in_zone; led_idx++)
|
||||
{
|
||||
ui->LEDBox->addItem(device->zones[selected_zone].leds[led_idx].name.c_str());
|
||||
}
|
||||
|
|
@ -591,9 +593,9 @@ void Ui::OpenRGBDevicePage::on_LEDBox_currentIndexChanged(int index)
|
|||
/*-------------------------------------*\
|
||||
| Handle single selected LED |
|
||||
\*-------------------------------------*/
|
||||
if(device->zones[selected_zone].leds_count == 1 || selected_led != -1)
|
||||
if(device->GetLEDsInZone(selected_zone) == 1 || selected_led != -1)
|
||||
{
|
||||
if((unsigned int)selected_led < device->zones[selected_zone].leds_count)
|
||||
if((unsigned int)selected_led < device->GetLEDsInZone(selected_zone))
|
||||
{
|
||||
/*-----------------------------*\
|
||||
| Get selected LED's current |
|
||||
|
|
@ -1624,9 +1626,10 @@ void Ui::OpenRGBDevicePage::on_EditZoneButton_clicked()
|
|||
}
|
||||
|
||||
/*-----------------------------------------*\
|
||||
| Only allow resizing linear zones |
|
||||
| Only allow resizing linear zones or |
|
||||
| effects-only resizable zones |
|
||||
\*-----------------------------------------*/
|
||||
if(device->zones[selected_zone].type == ZONE_TYPE_LINEAR)
|
||||
if((device->zones[selected_zone].type == ZONE_TYPE_LINEAR) || (device->zones[selected_zone].flags & ZONE_FLAG_RESIZE_EFFECTS_ONLY))
|
||||
{
|
||||
OpenRGBZoneResizeDialog dlg(device, selected_zone);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue