GetInstructionsForUnlockingBook() 공개 정적인 메소드

public static GetInstructionsForUnlockingBook ( ) : string
리턴 string
예제 #1
0
        private void AddPageButton_Click()
        {
            // Turn double-click into a single-click
            if (_lastButtonClickedTime > DateTime.Now.AddSeconds(-1))
            {
                return;
            }
            _lastButtonClickedTime = DateTime.Now;

            if (_editingModel.CanAddPages)
            {
                _editingModel.ShowAddPageDialog();
            }
            else
            {
                // TODO: localize buttons
                MessageBox.Show(EditingView.GetInstructionsForUnlockingBook(), "Bloom", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
예제 #2
0
        private void GridReordered(string s)
        {
            var newSeq = new List <IPage>();
            var keys   = s.Split(new [] { ',' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var key in keys)
            {
                IPage page;
                if (_pageMap.TryGetValue(key, out page))
                {
                    newSeq.Add(page);
                }
            }
            Debug.Assert(newSeq.Count == _pages.Count);
            // Now, which one moved?
            int firstDiff = 0;

            while (firstDiff < _pages.Count && _pages[firstDiff] == newSeq[firstDiff])
            {
                firstDiff++;
            }
            int limDiff = _pages.Count;

            while (limDiff > firstDiff && _pages[limDiff - 1] == newSeq[limDiff - 1])
            {
                limDiff--;
            }
            if (firstDiff == limDiff)
            {
                return;                 // spurious notification somehow? Nothing changed.
            }
            // We have the subsequence that altered.
            // Is the change legal?
            for (int i = firstDiff; i < limDiff; i++)
            {
                if (!_pages[i].CanRelocate)
                {
                    var msg = LocalizationManager.GetString("EditTab.PageList.CantMoveXMatter",
                                                            "That change is not allowed. Front matter and back matter pages must remain where they are.");
                    //previously had a caption that didn't add value, just more translation work
                    if (_pages[i].Book.LockedDown)
                    {
                        msg = LocalizationManager.GetString("PageList.CantMoveWhenTranslating",
                                                            "Pages can not be re-ordered when you are translating a book.");
                        msg = msg + System.Environment.NewLine + EditingView.GetInstructionsForUnlockingBook();
                    }
                    MessageBox.Show(msg);
                    UpdateItems(_pages);                     // reset to old state
                    return;
                }
            }
            // There are two possibilities: the user dragged the item that used to be at the start to the end,
            // or the item that used to be the end to the start.
            IPage movedPage;
            int   newPageIndex;

            if (_pages[firstDiff] == newSeq[limDiff - 1])
            {
                // Move forward
                movedPage    = _pages[firstDiff];
                newPageIndex = limDiff - 1;
            }
            else
            {
                Debug.Assert(_pages[limDiff - 1] == newSeq[firstDiff]);                 // moved last page forwards
                movedPage    = _pages[limDiff - 1];
                newPageIndex = firstDiff;
            }
            var relocatePageInfo = new RelocatePageInfo(movedPage, newPageIndex);

            RelocatePageEvent.Raise(relocatePageInfo);
            if (relocatePageInfo.Cancel)
            {
                UpdateItems(_pages);
            }
            else
            {
                _pages = newSeq;
                UpdatePageNumbers();
                // This is only needed if left and right pages are styled differently.
                // Unfortunately gecko does not re-apply the styles when things are re-ordered!
                UpdateItems(_pages);
            }
        }