Exemple #1
0
        private void WidgetButton_Click(object sender, EventArgs e)
        {
            // Application.OpenForms().OfType(Of WidgetGUI).Any
            if (My.Settings.widget_enabled)
            {
                // 설정 활성화시에
                My.Settings.widget_enabled = false;
                WidgetButton.Image         = My.Resources.widget_1;
                WidgetGUI.Close();
            }
            else
            {
                // 비활성화시에
                My.Settings.widget_enabled = true;
                WidgetButton.Image         = My.Resources.widget_2;
                WidgetGUI.Show();
            }

            My.Settings.Save();
            My.Settings.Reload();
        }
Exemple #2
0
        private void AirAPICheck_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
        {
            // 여기는 결과값 판별 영역
            if (APIOK)
            {
                string[] AirChkHour = NowChk.Split(" ");
                AirChkHour = AirChkHour[1].Split(":");
                // MsgBox(AirChkHour(0)) '업데이트의 시간대를 가져옴

                if (AirChkHour[0] == "24")
                {
                    AirChkHour[0] = "00";
                }
                // 에어체크의 API가 00(오전12)시를 24시로 표시해서 이렇게 바꿔주어야함

                // 값이 바뀌든 말든 일단 API 불러온겸 그리도록 하기
                AirCheck();

                // 현재 공기를 체크한 PC시간과(24시) 실제 측정소의 측정기준시간(24시)이 같을 경우
                if (AirChkHour[0] == DateTime.Now.ToString("HH"))
                {
                    PrevChk = NowChk;
                    // 체크 완료하였으므로 멈춤 ->다시 정각때까지 대기
                    Checking = false;
                    APICheck.Stop();
                }
                else if (My.Settings.ChkEnabled == false)
                {
                    PrevChk = NowChk;
                    // 체크 완료하였으므로 멈춤 ->새로고침 명령이 없다면 절대 업뎃 X
                    Checking = false;
                    APICheck.Stop();
                }
                else if (combnum == -4)
                {
                    PrevChk = NowChk;
                    // API 호출 과부하를 막기 위해 업데이트 중지
                    Checking = false;
                    APICheck.Stop();
                }
            }
            else
            // 오류발생 (그런데 erlevel을 앞서 다 combnum에 줘서 특별한 조치 필요없음)
            // 타이머를 멈추지 않음으로써 오류가 일어나면 미리 설정된 인터벌마다 다시 시도하도록 하기

            // API서버 트래픽 초과
            if (!airData == null)
            {
                if (airData.Contains("resultCode"))
                {
                    if (getData(airData, "resultCode") == "22")
                    {
                        combnum = -5;
                        APICheck.Stop();
                    }
                }
            }

            // 메인GUI의 폼을 그리고 트레이도 새로고침
            MainGUI.DrawState();
            TrayForm.trayico_selector();
            if (My.Settings.widget_enabled)
            {
                WidgetGUI.DrawState();
            }

            // 여기서부터는 푸시 알림 영역
            PushCheck();

            // 이전의 상태 넘버를 저장해야함
            prevCombnum = combnum;
        }
Exemple #3
0
 private void Button4_Click(object sender, EventArgs e)
 {
     combnum = NumericUpDown1.Value;
     MainGUI.DrawState();
     WidgetGUI.DrawState();
 }